@naculus/connect-appkit-vue 0.8.1 → 0.10.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/index.js CHANGED
@@ -1032,12 +1032,32 @@ function useSwitchChain(action, chainId) {
1032
1032
  };
1033
1033
  }
1034
1034
 
1035
+ // src/useX402Signer.ts
1036
+ import {
1037
+ createX402WalletSigner
1038
+ } from "@naculus/connect-appkit-core";
1039
+ import { computed as computed9, toValue as toValue11, unref as unref10 } from "vue";
1040
+ function useX402Signer(session, provider, switchChain, chainId) {
1041
+ const resolved = computed9(() => {
1042
+ toValue11(chainId);
1043
+ return createX402WalletSigner(
1044
+ toValue11(session),
1045
+ toValue11(provider),
1046
+ unref10(switchChain)
1047
+ );
1048
+ });
1049
+ return {
1050
+ signer: computed9(() => resolved.value.signer),
1051
+ reason: computed9(() => resolved.value.reason)
1052
+ };
1053
+ }
1054
+
1035
1055
  // src/useSignMessage.ts
1036
- import { unref as unref10 } from "vue";
1056
+ import { unref as unref11 } from "vue";
1037
1057
  function useSignMessage(action) {
1038
1058
  const guard = useActionGuard();
1039
1059
  const signMessage = (message) => {
1040
- const invoke = unref10(action);
1060
+ const invoke = unref11(action);
1041
1061
  return guard.run(() => invoke(message), "Signing failed");
1042
1062
  };
1043
1063
  return {
@@ -1049,12 +1069,12 @@ function useSignMessage(action) {
1049
1069
  }
1050
1070
 
1051
1071
  // src/useSendTransaction.ts
1052
- import { computed as computed9, shallowRef as shallowRef9, unref as unref11 } from "vue";
1072
+ import { computed as computed10, shallowRef as shallowRef9, unref as unref12 } from "vue";
1053
1073
  function useSendTransaction(action) {
1054
1074
  const guard = useActionGuard();
1055
1075
  const status = shallowRef9("idle");
1056
1076
  const sendTransaction = (transaction) => {
1057
- const invoke = unref11(action);
1077
+ const invoke = unref12(action);
1058
1078
  status.value = "awaiting_approval";
1059
1079
  return guard.run(async (commit) => {
1060
1080
  const hash = await invoke(transaction);
@@ -1076,12 +1096,12 @@ function useSendTransaction(action) {
1076
1096
  status,
1077
1097
  error: guard.error,
1078
1098
  reset,
1079
- isSending: computed9(() => status.value === "awaiting_approval")
1099
+ isSending: computed10(() => status.value === "awaiting_approval")
1080
1100
  };
1081
1101
  }
1082
1102
 
1083
1103
  // src/useSolanaTransaction.ts
1084
- import { shallowRef as shallowRef10, unref as unref12 } from "vue";
1104
+ import { shallowRef as shallowRef10, unref as unref13 } from "vue";
1085
1105
  function useSolanaTransaction(options) {
1086
1106
  const guard = useActionGuard();
1087
1107
  const isSigning = shallowRef10(false);
@@ -1089,7 +1109,7 @@ function useSolanaTransaction(options) {
1089
1109
  let signing = 0;
1090
1110
  let sending = 0;
1091
1111
  const signTransaction = (transaction) => {
1092
- const invoke = unref12(options.signTransaction);
1112
+ const invoke = unref13(options.signTransaction);
1093
1113
  signing++;
1094
1114
  isSigning.value = true;
1095
1115
  return guard.run(() => invoke(transaction), "Signing failed").finally(() => {
@@ -1098,7 +1118,7 @@ function useSolanaTransaction(options) {
1098
1118
  });
1099
1119
  };
1100
1120
  const sendTransaction = (transaction) => {
1101
- const invoke = unref12(options.sendTransaction);
1121
+ const invoke = unref13(options.sendTransaction);
1102
1122
  sending++;
1103
1123
  isSending.value = true;
1104
1124
  return guard.run(() => invoke(transaction), "Send failed").finally(() => {
@@ -1106,7 +1126,7 @@ function useSolanaTransaction(options) {
1106
1126
  isSending.value = sending > 0;
1107
1127
  });
1108
1128
  };
1109
- const getStatus = (signature) => unref12(options.getStatus)(signature);
1129
+ const getStatus = (signature) => unref13(options.getStatus)(signature);
1110
1130
  return {
1111
1131
  signTransaction,
1112
1132
  sendTransaction,
@@ -1119,12 +1139,12 @@ function useSolanaTransaction(options) {
1119
1139
  }
1120
1140
 
1121
1141
  // src/useSignInWithX.ts
1122
- import { shallowRef as shallowRef11, unref as unref13 } from "vue";
1142
+ import { shallowRef as shallowRef11, unref as unref14 } from "vue";
1123
1143
  function useSignInWithX(action) {
1124
1144
  const guard = useActionGuard();
1125
1145
  const result = shallowRef11(null);
1126
1146
  const signIn = (options) => {
1127
- const invoke = unref13(action);
1147
+ const invoke = unref14(action);
1128
1148
  return guard.run(async (commit) => {
1129
1149
  const next = await invoke(options);
1130
1150
  commit(() => {
@@ -1153,24 +1173,24 @@ function useSignInWithEthereum(action) {
1153
1173
  }
1154
1174
 
1155
1175
  // src/useExecuteCalls.ts
1156
- import { computed as computed10, toValue as toValue11, unref as unref14 } from "vue";
1176
+ import { computed as computed11, toValue as toValue12, unref as unref15 } from "vue";
1157
1177
  function useExecuteCalls(options) {
1158
1178
  const guard = useActionGuard();
1159
- const preview = (callCount, atomicity) => unref14(options.preview)(callCount, atomicity);
1179
+ const preview = (callCount, atomicity) => unref15(options.preview)(callCount, atomicity);
1160
1180
  const execute = (calls, atomicity) => {
1161
- const invoke = unref14(options.execute);
1181
+ const invoke = unref15(options.execute);
1162
1182
  return guard.run(() => invoke(calls, atomicity), "Execution failed");
1163
1183
  };
1164
1184
  const reset = () => {
1165
1185
  guard.reset();
1166
- unref14(options.reset)();
1186
+ unref15(options.reset)();
1167
1187
  };
1168
1188
  return {
1169
1189
  preview,
1170
1190
  execute,
1171
1191
  isExecuting: guard.busy,
1172
1192
  error: guard.error,
1173
- lastRoute: computed10(() => toValue11(options.lastRoute)),
1193
+ lastRoute: computed11(() => toValue12(options.lastRoute)),
1174
1194
  reset
1175
1195
  };
1176
1196
  }
@@ -1183,17 +1203,17 @@ import {
1183
1203
  isVerifiablePolicy
1184
1204
  } from "@naculus/connect-appkit-core";
1185
1205
  import {
1186
- computed as computed12,
1206
+ computed as computed13,
1187
1207
  onScopeDispose as onScopeDispose8,
1188
1208
  shallowRef as shallowRef13,
1189
- toValue as toValue13,
1190
- unref as unref15,
1209
+ toValue as toValue14,
1210
+ unref as unref16,
1191
1211
  watch as watch7
1192
1212
  } from "vue";
1193
1213
 
1194
1214
  // src/useSessionKeys.ts
1195
1215
  import { getSharedSessionKeyManager } from "@naculus/connect-appkit-core";
1196
- import { computed as computed11, onScopeDispose as onScopeDispose7, shallowRef as shallowRef12, toValue as toValue12, watch as watch6 } from "vue";
1216
+ import { computed as computed12, onScopeDispose as onScopeDispose7, shallowRef as shallowRef12, toValue as toValue13, watch as watch6 } from "vue";
1197
1217
  function resolveManager(config, options) {
1198
1218
  return options.manager ?? getSharedSessionKeyManager(config);
1199
1219
  }
@@ -1206,7 +1226,7 @@ function useSessionKeys(connected, config, options = {}) {
1206
1226
  let disposed = false;
1207
1227
  const refresh = async () => {
1208
1228
  const own = ++generation;
1209
- if (!toValue12(connected)) {
1229
+ if (!toValue13(connected)) {
1210
1230
  sessions.value = [];
1211
1231
  return;
1212
1232
  }
@@ -1224,7 +1244,7 @@ function useSessionKeys(connected, config, options = {}) {
1224
1244
  }
1225
1245
  };
1226
1246
  watch6(
1227
- () => toValue12(connected),
1247
+ () => toValue13(connected),
1228
1248
  () => {
1229
1249
  void refresh();
1230
1250
  },
@@ -1236,7 +1256,7 @@ function useSessionKeys(connected, config, options = {}) {
1236
1256
  });
1237
1257
  return {
1238
1258
  sessions,
1239
- activeSessions: computed11(
1259
+ activeSessions: computed12(
1240
1260
  () => sessions.value.filter((s) => s.status === "active")
1241
1261
  ),
1242
1262
  loading,
@@ -1311,17 +1331,17 @@ function useDelegationPolicy(options) {
1311
1331
  const flow = createDelegationPolicyFlow({
1312
1332
  manager,
1313
1333
  origin,
1314
- signer: () => bareEvmAddress2(toValue13(options.account)),
1315
- signMessage: (message) => unref15(options.signMessage)(message),
1316
- verifySignature: (input) => unref15(options.verifySignature)(input),
1317
- previewExecution: (callCount, atomicity) => unref15(options.previewExecution)(callCount, atomicity),
1334
+ signer: () => bareEvmAddress2(toValue14(options.account)),
1335
+ signMessage: (message) => unref16(options.signMessage)(message),
1336
+ verifySignature: (input) => unref16(options.verifySignature)(input),
1337
+ previewExecution: (callCount, atomicity) => unref16(options.previewExecution)(callCount, atomicity),
1318
1338
  sponsorship: options.sponsorship,
1319
1339
  adapter: options.adapter,
1320
- signTypedData: options.signTypedData ? (typedData) => unref15(
1340
+ signTypedData: options.signTypedData ? (typedData) => unref16(
1321
1341
  options.signTypedData
1322
1342
  )(typedData) : void 0,
1323
- chainId: () => toValue13(options.chainId) ?? null,
1324
- delegation: () => toValue13(options.delegation),
1343
+ chainId: () => toValue14(options.chainId) ?? null,
1344
+ delegation: () => toValue14(options.delegation),
1325
1345
  encryptionKeyConfigured: Boolean(options.managerConfig?.encryptionKey),
1326
1346
  storageAvailable: () => sessionKeys.storageAvailable,
1327
1347
  refresh: sessionKeys.refresh
@@ -1362,15 +1382,15 @@ function useDelegationPolicy(options) {
1362
1382
  });
1363
1383
  return {
1364
1384
  policies: sessionKeys.sessions,
1365
- activePolicies: computed12(
1385
+ activePolicies: computed13(
1366
1386
  () => sessionKeys.activeSessions.value.filter(
1367
1387
  (p) => verifiedIds.value.has(p.id)
1368
1388
  )
1369
1389
  ),
1370
1390
  storageAvailable: sessionKeys.storageAvailable,
1371
- loading: computed12(() => sessionKeys.loading.value || isVerifying.value),
1391
+ loading: computed13(() => sessionKeys.loading.value || isVerifying.value),
1372
1392
  isBusy: guard.busy,
1373
- error: computed12(
1393
+ error: computed13(
1374
1394
  () => guard.error.value ?? verifyError.value ?? sessionKeys.error.value
1375
1395
  ),
1376
1396
  createPolicy: (scope) => guard.run(() => flow.createPolicy(scope), "Policy creation failed"),
@@ -1398,11 +1418,11 @@ import {
1398
1418
  } from "@naculus/connect-appkit-core";
1399
1419
  import { WalletError as WalletError5 } from "@naculus/connect-core";
1400
1420
  import {
1401
- computed as computed13,
1421
+ computed as computed14,
1402
1422
  onScopeDispose as onScopeDispose9,
1403
1423
  shallowRef as shallowRef14,
1404
- toValue as toValue14,
1405
- unref as unref16,
1424
+ toValue as toValue15,
1425
+ unref as unref17,
1406
1426
  watch as watch8
1407
1427
  } from "vue";
1408
1428
  function useSmartAccount(options) {
@@ -1414,17 +1434,17 @@ function useSmartAccount(options) {
1414
1434
  let generation = 0;
1415
1435
  let inFlight = false;
1416
1436
  let disposed = false;
1417
- const chainId = computed13(
1437
+ const chainId = computed14(
1418
1438
  () => resolveEvmChainId(
1419
- toValue14(options.chainId),
1420
- toValue14(options.connectedChainId)
1439
+ toValue15(options.chainId),
1440
+ toValue15(options.connectedChainId)
1421
1441
  )
1422
1442
  );
1423
1443
  watch8(
1424
1444
  [
1425
- () => toValue14(options.manager),
1426
- () => toValue14(options.rpcUrl),
1427
- () => toValue14(options.bundlerUrl),
1445
+ () => toValue15(options.manager),
1446
+ () => toValue15(options.rpcUrl),
1447
+ () => toValue15(options.bundlerUrl),
1428
1448
  () => chainId.value
1429
1449
  ],
1430
1450
  ([supplied, rpcUrl, bundlerUrl, chain]) => {
@@ -1449,8 +1469,8 @@ function useSmartAccount(options) {
1449
1469
  },
1450
1470
  { immediate: true }
1451
1471
  );
1452
- const config = computed13(() => {
1453
- const owner = bareEvmAddress3(toValue14(options.account));
1472
+ const config = computed14(() => {
1473
+ const owner = bareEvmAddress3(toValue15(options.account));
1454
1474
  const chain = chainId.value;
1455
1475
  if (!owner || !chain || !managerRef.value) return null;
1456
1476
  return buildSmartAccountConfig(owner, chain, {
@@ -1500,7 +1520,7 @@ function useSmartAccount(options) {
1500
1520
  return info;
1501
1521
  }, "Failed to create smart account");
1502
1522
  const deployWallet = () => operate(async (manager, cfg, commit) => {
1503
- const send = unref16(options.sendTransaction);
1523
+ const send = unref17(options.sendTransaction);
1504
1524
  if (!send) {
1505
1525
  throw new WalletError5(
1506
1526
  "wallet_unavailable",
@@ -1554,7 +1574,7 @@ import {
1554
1574
  resolveUserOpChain
1555
1575
  } from "@naculus/connect-appkit-core";
1556
1576
  import { WalletError as WalletError6 } from "@naculus/connect-core";
1557
- import { onScopeDispose as onScopeDispose10, shallowRef as shallowRef15, toValue as toValue15, unref as unref17 } from "vue";
1577
+ import { onScopeDispose as onScopeDispose10, shallowRef as shallowRef15, toValue as toValue16, unref as unref18 } from "vue";
1558
1578
  function useSendUserOperation(options) {
1559
1579
  const userOpHash = shallowRef15(null);
1560
1580
  const receipt = shallowRef15(null);
@@ -1569,8 +1589,8 @@ function useSendUserOperation(options) {
1569
1589
  return null;
1570
1590
  };
1571
1591
  const sendUserOp = async (calls, opts) => {
1572
- const rpcUrl = toValue15(options.rpcUrl);
1573
- const bundlerUrl = toValue15(options.bundlerUrl);
1592
+ const rpcUrl = toValue16(options.rpcUrl);
1593
+ const bundlerUrl = toValue16(options.bundlerUrl);
1574
1594
  if (!rpcUrl) return fail(new Error("RPC URL not configured"));
1575
1595
  if (!bundlerUrl) return fail(new Error("Bundler URL not configured"));
1576
1596
  if (!calls.length) return fail(new Error("At least one call is required"));
@@ -1578,7 +1598,7 @@ function useSendUserOperation(options) {
1578
1598
  return fail(new Error("A UserOperation is already in progress"));
1579
1599
  }
1580
1600
  const owner = bareEvmAddress4(
1581
- toValue15(options.owner) ?? toValue15(options.account)
1601
+ toValue16(options.owner) ?? toValue16(options.account)
1582
1602
  );
1583
1603
  if (!owner) {
1584
1604
  return fail(
@@ -1588,13 +1608,13 @@ function useSendUserOperation(options) {
1588
1608
  let targetChainId;
1589
1609
  try {
1590
1610
  targetChainId = resolveUserOpChain(
1591
- toValue15(options.chainId),
1592
- toValue15(options.connectedChainId)
1611
+ toValue16(options.chainId),
1612
+ toValue16(options.connectedChainId)
1593
1613
  );
1594
1614
  } catch (chainError) {
1595
1615
  return fail(chainError);
1596
1616
  }
1597
- const signer = unref17(options.signer);
1617
+ const signer = unref18(options.signer);
1598
1618
  const own = ++requestId;
1599
1619
  inFlight = true;
1600
1620
  isPending.value = true;
@@ -1665,7 +1685,7 @@ import {
1665
1685
  fetchUserOperationReceipt,
1666
1686
  InvalidUserOperationReceiptError
1667
1687
  } from "@naculus/connect-appkit-core";
1668
- import { onScopeDispose as onScopeDispose11, shallowRef as shallowRef16, toValue as toValue16 } from "vue";
1688
+ import { onScopeDispose as onScopeDispose11, shallowRef as shallowRef16, toValue as toValue17 } from "vue";
1669
1689
  function useUserOpStatus(options) {
1670
1690
  const status = shallowRef16("idle");
1671
1691
  const receipt = shallowRef16(null);
@@ -1694,7 +1714,7 @@ function useUserOpStatus(options) {
1694
1714
  clearTimers();
1695
1715
  };
1696
1716
  const poll = async (hash, own) => {
1697
- const bundlerUrl = toValue16(options.bundlerUrl);
1717
+ const bundlerUrl = toValue17(options.bundlerUrl);
1698
1718
  if (!bundlerUrl || own !== generation) return;
1699
1719
  const attempt = ++attempts.value;
1700
1720
  const abort = new AbortController();
@@ -1751,7 +1771,7 @@ function useUserOpStatus(options) {
1751
1771
  error.value = null;
1752
1772
  attempts.value = 0;
1753
1773
  elapsedMs.value = 0;
1754
- if (!toValue16(options.bundlerUrl)) {
1774
+ if (!toValue17(options.bundlerUrl)) {
1755
1775
  finish("not_found", new Error("Bundler URL not configured"));
1756
1776
  return;
1757
1777
  }
@@ -1795,7 +1815,7 @@ function useUserOpStatus(options) {
1795
1815
  }
1796
1816
 
1797
1817
  // src/useSendCalls.ts
1798
- import { computed as computed14, onScopeDispose as onScopeDispose12, shallowRef as shallowRef17, toValue as toValue17, unref as unref18 } from "vue";
1818
+ import { computed as computed15, onScopeDispose as onScopeDispose12, shallowRef as shallowRef17, toValue as toValue18, unref as unref19 } from "vue";
1799
1819
  function useSendCalls(options) {
1800
1820
  const status = shallowRef17("idle");
1801
1821
  const error = shallowRef17(null);
@@ -1805,7 +1825,7 @@ function useSendCalls(options) {
1805
1825
  let statusGeneration = 0;
1806
1826
  let disposed = false;
1807
1827
  const sendCalls = async (calls, input) => {
1808
- const invoke = unref18(options.sendCalls);
1828
+ const invoke = unref19(options.sendCalls);
1809
1829
  const own = ++sendGeneration;
1810
1830
  status.value = "awaiting_approval";
1811
1831
  error.value = null;
@@ -1827,13 +1847,13 @@ function useSendCalls(options) {
1827
1847
  }
1828
1848
  };
1829
1849
  const getCallsStatus = async (hash) => {
1830
- const invoke = unref18(options.getCallsStatus);
1850
+ const invoke = unref19(options.getCallsStatus);
1831
1851
  const own = ++statusGeneration;
1832
1852
  const result = await invoke(hash);
1833
1853
  if (!disposed && own === statusGeneration) callsStatus.value = result;
1834
1854
  return result;
1835
1855
  };
1836
- const showCallsStatus = (hash) => unref18(options.showCallsStatus)(hash);
1856
+ const showCallsStatus = (hash) => unref19(options.showCallsStatus)(hash);
1837
1857
  const reset = () => {
1838
1858
  sendGeneration++;
1839
1859
  statusGeneration++;
@@ -1855,38 +1875,38 @@ function useSendCalls(options) {
1855
1875
  error,
1856
1876
  batchHash,
1857
1877
  callsStatus,
1858
- execution: computed14(() => toValue17(options.execution) ?? null),
1859
- isSending: computed14(() => status.value === "awaiting_approval"),
1878
+ execution: computed15(() => toValue18(options.execution) ?? null),
1879
+ isSending: computed15(() => status.value === "awaiting_approval"),
1860
1880
  reset
1861
1881
  };
1862
1882
  }
1863
1883
 
1864
1884
  // src/useEmbeddedWallet.ts
1865
- import { computed as computed15, toValue as toValue18, unref as unref19 } from "vue";
1885
+ import { computed as computed16, toValue as toValue19, unref as unref20 } from "vue";
1866
1886
  function useEmbeddedWallet(options) {
1867
1887
  const guard = useActionGuard();
1868
1888
  const run = (action) => guard.run(action, "Embedded wallet action failed");
1869
- const wallet = computed15(() => toValue18(options.wallet));
1889
+ const wallet = computed16(() => toValue19(options.wallet));
1870
1890
  return {
1871
1891
  wallet,
1872
- hasWallet: computed15(() => wallet.value !== null),
1873
- address: computed15(() => wallet.value?.address ?? null),
1874
- accounts: computed15(() => wallet.value?.accounts ?? []),
1875
- activeNamespace: computed15(() => wallet.value?.activeNamespace ?? null),
1876
- backupPending: computed15(() => toValue18(options.backupPending)),
1877
- storageSecurityLevel: computed15(() => toValue18(options.storageSecurityLevel)),
1878
- securityReport: computed15(() => toValue18(options.securityReport)),
1879
- connectEmbedded: () => run(() => unref19(options.connectEmbedded)()),
1880
- restoreWallet: () => run(() => unref19(options.restoreWallet)()),
1881
- generateWallet: () => run(() => unref19(options.generateWallet)()),
1882
- importFromMnemonic: (value) => run(() => unref19(options.importFromMnemonic)(value)),
1883
- importFromPrivateKey: (value) => run(() => unref19(options.importFromPrivateKey)(value)),
1884
- wipe: () => run(() => unref19(options.wipe)()),
1885
- setActiveNamespace: (value) => unref19(options.setActiveNamespace)(value),
1886
- backfillAccounts: () => run(() => unref19(options.backfillAccounts)()),
1887
- getSeedPhrase: () => unref19(options.getSeedPhrase)(),
1888
- getPrivateKey: () => unref19(options.getPrivateKey)(),
1889
- confirmBackup: () => unref19(options.confirmBackup)(),
1892
+ hasWallet: computed16(() => wallet.value !== null),
1893
+ address: computed16(() => wallet.value?.address ?? null),
1894
+ accounts: computed16(() => wallet.value?.accounts ?? []),
1895
+ activeNamespace: computed16(() => wallet.value?.activeNamespace ?? null),
1896
+ backupPending: computed16(() => toValue19(options.backupPending)),
1897
+ storageSecurityLevel: computed16(() => toValue19(options.storageSecurityLevel)),
1898
+ securityReport: computed16(() => toValue19(options.securityReport)),
1899
+ connectEmbedded: () => run(() => unref20(options.connectEmbedded)()),
1900
+ restoreWallet: () => run(() => unref20(options.restoreWallet)()),
1901
+ generateWallet: () => run(() => unref20(options.generateWallet)()),
1902
+ importFromMnemonic: (value) => run(() => unref20(options.importFromMnemonic)(value)),
1903
+ importFromPrivateKey: (value) => run(() => unref20(options.importFromPrivateKey)(value)),
1904
+ wipe: () => run(() => unref20(options.wipe)()),
1905
+ setActiveNamespace: (value) => unref20(options.setActiveNamespace)(value),
1906
+ backfillAccounts: () => run(() => unref20(options.backfillAccounts)()),
1907
+ getSeedPhrase: () => unref20(options.getSeedPhrase)(),
1908
+ getPrivateKey: () => unref20(options.getPrivateKey)(),
1909
+ confirmBackup: () => unref20(options.confirmBackup)(),
1890
1910
  isBusy: guard.busy,
1891
1911
  error: guard.error,
1892
1912
  clearError: guard.clearError
@@ -1905,43 +1925,43 @@ function useSIWxLogin(action) {
1905
1925
  }
1906
1926
 
1907
1927
  // src/useSIWxSession.ts
1908
- import { computed as computed16, toValue as toValue19, unref as unref20 } from "vue";
1928
+ import { computed as computed17, toValue as toValue20, unref as unref21 } from "vue";
1909
1929
  function useSIWxSession(options) {
1910
1930
  const guard = useActionGuard();
1911
1931
  return {
1912
- session: computed16(() => toValue19(options.session)),
1913
- isAuthenticated: computed16(
1914
- () => toValue19(options.session) !== null && !toValue19(options.isExpired)
1932
+ session: computed17(() => toValue20(options.session)),
1933
+ isAuthenticated: computed17(
1934
+ () => toValue20(options.session) !== null && !toValue20(options.isExpired)
1915
1935
  ),
1916
- isRestoring: computed16(() => toValue19(options.isRestoring)),
1936
+ isRestoring: computed17(() => toValue20(options.isRestoring)),
1917
1937
  isSigningIn: guard.busy,
1918
- isExpired: computed16(() => toValue19(options.isExpired)),
1919
- timeUntilExpiry: computed16(() => toValue19(options.timeUntilExpiry)),
1920
- signIn: (input) => guard.run(() => unref20(options.signIn)(input), "SIWX sign-in failed"),
1938
+ isExpired: computed17(() => toValue20(options.isExpired)),
1939
+ timeUntilExpiry: computed17(() => toValue20(options.timeUntilExpiry)),
1940
+ signIn: (input) => guard.run(() => unref21(options.signIn)(input), "SIWX sign-in failed"),
1921
1941
  signOut: async () => {
1922
- await unref20(options.signOut)();
1942
+ await unref21(options.signOut)();
1923
1943
  guard.clearError();
1924
1944
  },
1925
- refresh: () => guard.run(() => unref20(options.refresh)(), "Session refresh failed"),
1945
+ refresh: () => guard.run(() => unref21(options.refresh)(), "Session refresh failed"),
1926
1946
  error: guard.error,
1927
1947
  clearError: guard.clearError
1928
1948
  };
1929
1949
  }
1930
1950
 
1931
1951
  // src/useSiwxAuthSession.ts
1932
- import { computed as computed17, toValue as toValue20, unref as unref21 } from "vue";
1952
+ import { computed as computed18, toValue as toValue21, unref as unref22 } from "vue";
1933
1953
  function useSiwxAuthSession(options) {
1934
1954
  const guard = useActionGuard();
1935
- const signIn = (input) => guard.run(() => unref21(options.signIn)(input), "SIWX sign-in failed");
1955
+ const signIn = (input) => guard.run(() => unref22(options.signIn)(input), "SIWX sign-in failed");
1936
1956
  const signOut = async () => {
1937
1957
  guard.reset();
1938
- await unref21(options.signOut)();
1958
+ await unref22(options.signOut)();
1939
1959
  guard.clearError();
1940
1960
  };
1941
- const siwxResult = computed17(() => toValue20(options.result));
1961
+ const siwxResult = computed18(() => toValue21(options.result));
1942
1962
  return {
1943
- isSignedIn: computed17(() => siwxResult.value !== null),
1944
- isRestoring: computed17(() => toValue20(options.isRestoring)),
1963
+ isSignedIn: computed18(() => siwxResult.value !== null),
1964
+ isRestoring: computed18(() => toValue21(options.isRestoring)),
1945
1965
  siwxResult,
1946
1966
  isSigningIn: guard.busy,
1947
1967
  error: guard.error,
@@ -1954,15 +1974,15 @@ function useSiwxAuthSession(options) {
1954
1974
  // src/useBalance.ts
1955
1975
  import { bareEvmAddress as bareEvmAddress5 } from "@naculus/connect-appkit-core";
1956
1976
  import { formatUnits as formatUnits2 } from "@naculus/connect-core";
1957
- import { computed as computed18, onScopeDispose as onScopeDispose13, shallowRef as shallowRef18, toValue as toValue21, watch as watch9 } from "vue";
1977
+ import { computed as computed19, onScopeDispose as onScopeDispose13, shallowRef as shallowRef18, toValue as toValue22, watch as watch9 } from "vue";
1958
1978
  function useBalance(account, client, options = {}) {
1959
1979
  const guard = useActionGuard();
1960
1980
  const balance = shallowRef18(null);
1961
1981
  const isFetching = shallowRef18(false);
1962
1982
  let timer = null;
1963
1983
  const refetch = async () => {
1964
- const reader = toValue21(client);
1965
- const address = bareEvmAddress5(toValue21(account));
1984
+ const reader = toValue22(client);
1985
+ const address = bareEvmAddress5(toValue22(account));
1966
1986
  if (!reader || !address) {
1967
1987
  guard.reset();
1968
1988
  balance.value = null;
@@ -2000,9 +2020,9 @@ function useBalance(account, client, options = {}) {
2000
2020
  };
2001
2021
  watch9(
2002
2022
  [
2003
- () => toValue21(account),
2004
- () => toValue21(client),
2005
- () => toValue21(options.refreshInterval) ?? 0
2023
+ () => toValue22(account),
2024
+ () => toValue22(client),
2025
+ () => toValue22(options.refreshInterval) ?? 0
2006
2026
  ],
2007
2027
  ([, , interval]) => {
2008
2028
  stopTimer();
@@ -2014,10 +2034,10 @@ function useBalance(account, client, options = {}) {
2014
2034
  onScopeDispose13(stopTimer);
2015
2035
  return {
2016
2036
  balance,
2017
- formatted: computed18(
2018
- () => balance.value === null ? null : formatUnits2(BigInt(balance.value), toValue21(options.decimals) ?? 18)
2037
+ formatted: computed19(
2038
+ () => balance.value === null ? null : formatUnits2(BigInt(balance.value), toValue22(options.decimals) ?? 18)
2019
2039
  ),
2020
- symbol: computed18(() => toValue21(options.symbol) ?? null),
2040
+ symbol: computed19(() => toValue22(options.symbol) ?? null),
2021
2041
  isFetching,
2022
2042
  error: guard.error,
2023
2043
  refetch
@@ -2028,7 +2048,7 @@ function useBalance(account, client, options = {}) {
2028
2048
  import {
2029
2049
  isQuotableInput
2030
2050
  } from "@naculus/connect-appkit-core";
2031
- import { onScopeDispose as onScopeDispose14, shallowRef as shallowRef19, toValue as toValue22, unref as unref22, watch as watch10 } from "vue";
2051
+ import { onScopeDispose as onScopeDispose14, shallowRef as shallowRef19, toValue as toValue23, unref as unref23, watch as watch10 } from "vue";
2032
2052
  function useRouteQuote(input, getQuotes, options = {}) {
2033
2053
  const guard = useActionGuard();
2034
2054
  const quotes = shallowRef19([]);
@@ -2045,7 +2065,7 @@ function useRouteQuote(input, getQuotes, options = {}) {
2045
2065
  quotes.value = [];
2046
2066
  return null;
2047
2067
  }
2048
- const fn = unref22(getQuotes);
2068
+ const fn = unref23(getQuotes);
2049
2069
  if (!fn) {
2050
2070
  guard.invalidate();
2051
2071
  loading.value = false;
@@ -2054,7 +2074,7 @@ function useRouteQuote(input, getQuotes, options = {}) {
2054
2074
  return fn;
2055
2075
  };
2056
2076
  const fetchQuotes = async () => {
2057
- const current = toValue22(input);
2077
+ const current = toValue23(input);
2058
2078
  const fn = requestable(current);
2059
2079
  if (!fn) return;
2060
2080
  loading.value = true;
@@ -2091,17 +2111,17 @@ function useRouteQuote(input, getQuotes, options = {}) {
2091
2111
  };
2092
2112
  watch10(
2093
2113
  [
2094
- () => toValue22(input).fromChain,
2095
- () => toValue22(input).toChain,
2096
- () => toValue22(input).fromToken,
2097
- () => toValue22(input).toToken,
2098
- () => toValue22(input).amount,
2099
- () => unref22(getQuotes)
2114
+ () => toValue23(input).fromChain,
2115
+ () => toValue23(input).toChain,
2116
+ () => toValue23(input).fromToken,
2117
+ () => toValue23(input).toToken,
2118
+ () => toValue23(input).amount,
2119
+ () => unref23(getQuotes)
2100
2120
  ],
2101
2121
  () => {
2102
2122
  clearTimer();
2103
2123
  guard.invalidate();
2104
- if (!requestable(toValue22(input))) return;
2124
+ if (!requestable(toValue23(input))) return;
2105
2125
  timer = setTimeout(() => {
2106
2126
  timer = null;
2107
2127
  void fetchQuotes();
@@ -2128,14 +2148,14 @@ function useRouteQuote(input, getQuotes, options = {}) {
2128
2148
  import {
2129
2149
  compareCostsKey
2130
2150
  } from "@naculus/connect-appkit-core";
2131
- import { shallowRef as shallowRef20, toValue as toValue23, unref as unref23, watch as watch11 } from "vue";
2151
+ import { shallowRef as shallowRef20, toValue as toValue24, unref as unref24, watch as watch11 } from "vue";
2132
2152
  function useCompareCosts(input, compareCosts) {
2133
2153
  const guard = useActionGuard();
2134
2154
  const comparisons = shallowRef20([]);
2135
2155
  const loading = shallowRef20(false);
2136
2156
  const fetchComparisons = async () => {
2137
- const { operation, chains, options } = toValue23(input);
2138
- const fn = unref23(compareCosts);
2157
+ const { operation, chains, options } = toValue24(input);
2158
+ const fn = unref24(compareCosts);
2139
2159
  if (!chains || chains.length === 0) {
2140
2160
  guard.invalidate();
2141
2161
  loading.value = false;
@@ -2173,7 +2193,7 @@ function useCompareCosts(input, compareCosts) {
2173
2193
  });
2174
2194
  };
2175
2195
  watch11(
2176
- [() => compareCostsKey(toValue23(input)), () => unref23(compareCosts)],
2196
+ [() => compareCostsKey(toValue24(input)), () => unref24(compareCosts)],
2177
2197
  () => {
2178
2198
  void fetchComparisons();
2179
2199
  },
@@ -2192,7 +2212,7 @@ import {
2192
2212
  toExecuteRouteError,
2193
2213
  validateRouteRecipient
2194
2214
  } from "@naculus/connect-appkit-core";
2195
- import { onScopeDispose as onScopeDispose15, shallowRef as shallowRef21, unref as unref24 } from "vue";
2215
+ import { onScopeDispose as onScopeDispose15, shallowRef as shallowRef21, unref as unref25 } from "vue";
2196
2216
  function useExecuteRoute(executeRoute) {
2197
2217
  const executing = shallowRef21(false);
2198
2218
  const result = shallowRef21(null);
@@ -2200,7 +2220,7 @@ function useExecuteRoute(executeRoute) {
2200
2220
  let inFlight = false;
2201
2221
  let disposed = false;
2202
2222
  const execute = async (quote, recipient, options) => {
2203
- const fn = unref24(executeRoute);
2223
+ const fn = unref25(executeRoute);
2204
2224
  if (!fn) {
2205
2225
  error.value = {
2206
2226
  code: "no_executor",
@@ -2259,7 +2279,7 @@ import { eip155ChainIdToNumber } from "@naculus/connect-appkit-core";
2259
2279
  import {
2260
2280
  TokenListManager
2261
2281
  } from "@naculus/connect-core";
2262
- import { shallowRef as shallowRef22, toValue as toValue24, watch as watch12 } from "vue";
2282
+ import { shallowRef as shallowRef22, toValue as toValue25, watch as watch12 } from "vue";
2263
2283
  function useTokenList(chainId, options = {}) {
2264
2284
  const config = {};
2265
2285
  if (options.sources) config.sources = options.sources;
@@ -2269,7 +2289,7 @@ function useTokenList(chainId, options = {}) {
2269
2289
  const isLoading = shallowRef22(options.autoLoad !== false);
2270
2290
  const isLoaded = shallowRef22(false);
2271
2291
  const select = () => {
2272
- const id = toValue24(chainId);
2292
+ const id = toValue25(chainId);
2273
2293
  const numeric = id ? eip155ChainIdToNumber(id) : void 0;
2274
2294
  return manager.getTokens(
2275
2295
  numeric !== void 0 ? { chainId: numeric } : void 0
@@ -2296,7 +2316,7 @@ function useTokenList(chainId, options = {}) {
2296
2316
  });
2297
2317
  };
2298
2318
  watch12(
2299
- () => toValue24(chainId),
2319
+ () => toValue25(chainId),
2300
2320
  () => {
2301
2321
  if (options.autoLoad !== false) void run(() => manager.load());
2302
2322
  },
@@ -2316,7 +2336,7 @@ import { eip155ChainIdToNumber as eip155ChainIdToNumber2 } from "@naculus/connec
2316
2336
  import {
2317
2337
  TokenListManager as TokenListManager2
2318
2338
  } from "@naculus/connect-core";
2319
- import { onScopeDispose as onScopeDispose16, shallowRef as shallowRef23, toValue as toValue25, watch as watch13 } from "vue";
2339
+ import { onScopeDispose as onScopeDispose16, shallowRef as shallowRef23, toValue as toValue26, watch as watch13 } from "vue";
2320
2340
  var DEBOUNCE_MS = 300;
2321
2341
  var EMPTY = { exact: [], fuzzy: [], hasMore: false };
2322
2342
  var sharedManager = null;
@@ -2337,7 +2357,7 @@ function useTokenSearch(query, chainId, options = {}) {
2337
2357
  timer = null;
2338
2358
  };
2339
2359
  watch13(
2340
- [() => (toValue25(query) ?? "").trim(), () => toValue25(chainId)],
2360
+ [() => (toValue26(query) ?? "").trim(), () => toValue26(chainId)],
2341
2361
  ([q, id]) => {
2342
2362
  clear();
2343
2363
  if (!q) {
@@ -2367,17 +2387,17 @@ function useTokenSearch(query, chainId, options = {}) {
2367
2387
  import {
2368
2388
  validateDestination
2369
2389
  } from "@naculus/connect-appkit-core";
2370
- import { computed as computed19, toValue as toValue26 } from "vue";
2390
+ import { computed as computed20, toValue as toValue27 } from "vue";
2371
2391
  function useValidateDestination(address) {
2372
2392
  return {
2373
- validation: computed19(() => validateDestination(toValue26(address) ?? ""))
2393
+ validation: computed20(() => validateDestination(toValue27(address) ?? ""))
2374
2394
  };
2375
2395
  }
2376
2396
 
2377
2397
  // src/useTokenBalance.ts
2378
2398
  import { bareEvmAddress as bareEvmAddress6 } from "@naculus/connect-appkit-core";
2379
2399
  import { ERC20_MIN_ABI as ERC20_MIN_ABI3, formatUnits as formatUnits3 } from "@naculus/connect-core";
2380
- import { onScopeDispose as onScopeDispose17, shallowRef as shallowRef24, toValue as toValue27, watch as watch14 } from "vue";
2400
+ import { onScopeDispose as onScopeDispose17, shallowRef as shallowRef24, toValue as toValue28, watch as watch14 } from "vue";
2381
2401
  function tokensKey(tokens) {
2382
2402
  return tokens.map((t) => `${t.address.toLowerCase()}|${t.decimals}|${t.symbol}`).join(",");
2383
2403
  }
@@ -2387,9 +2407,9 @@ function useTokenBalance(account, client, tokens, options = {}) {
2387
2407
  const isFetching = shallowRef24(false);
2388
2408
  let timer = null;
2389
2409
  const refetch = async () => {
2390
- const reader = toValue27(client);
2391
- const address = bareEvmAddress6(toValue27(account));
2392
- const list = toValue27(tokens) ?? [];
2410
+ const reader = toValue28(client);
2411
+ const address = bareEvmAddress6(toValue28(account));
2412
+ const list = toValue28(tokens) ?? [];
2393
2413
  if (!reader || !address || list.length === 0) {
2394
2414
  guard.reset();
2395
2415
  tokenBalances.value = [];
@@ -2446,10 +2466,10 @@ function useTokenBalance(account, client, tokens, options = {}) {
2446
2466
  };
2447
2467
  watch14(
2448
2468
  [
2449
- () => toValue27(account),
2450
- () => toValue27(client),
2451
- () => tokensKey(toValue27(tokens) ?? []),
2452
- () => toValue27(options.refreshInterval) ?? 0
2469
+ () => toValue28(account),
2470
+ () => toValue28(client),
2471
+ () => tokensKey(toValue28(tokens) ?? []),
2472
+ () => toValue28(options.refreshInterval) ?? 0
2453
2473
  ],
2454
2474
  ([, , , interval]) => {
2455
2475
  stopTimer();
@@ -2478,7 +2498,7 @@ import {
2478
2498
  REVOKE_DELEGATE,
2479
2499
  WalletError as WalletError7
2480
2500
  } from "@naculus/connect-core";
2481
- import { onScopeDispose as onScopeDispose18, shallowRef as shallowRef25, toValue as toValue28, watch as watch15 } from "vue";
2501
+ import { onScopeDispose as onScopeDispose18, shallowRef as shallowRef25, toValue as toValue29, watch as watch15 } from "vue";
2482
2502
  function useDelegate(options) {
2483
2503
  const result = shallowRef25(null);
2484
2504
  const isPending = shallowRef25(false);
@@ -2492,15 +2512,15 @@ function useDelegate(options) {
2492
2512
  };
2493
2513
  const run = async (target, allowlist) => {
2494
2514
  if (inFlight) return fail(new Error("A delegation is already in progress"));
2495
- const session = toValue28(options.session);
2496
- const account = bareEvmAddress7(toValue28(options.account));
2497
- const chainId = toValue28(options.chainId);
2515
+ const session = toValue29(options.session);
2516
+ const account = bareEvmAddress7(toValue29(options.account));
2517
+ const chainId = toValue29(options.chainId);
2498
2518
  if (!session || !account || !chainId) {
2499
2519
  return fail(
2500
2520
  new WalletError7("wallet_unavailable", "No connected EVM account")
2501
2521
  );
2502
2522
  }
2503
- const reader = toValue28(options.client);
2523
+ const reader = toValue29(options.client);
2504
2524
  if (!reader || reader.chain?.id !== eip155Reference(chainId)) {
2505
2525
  return fail(
2506
2526
  new WalletError7(
@@ -2509,7 +2529,7 @@ function useDelegate(options) {
2509
2529
  )
2510
2530
  );
2511
2531
  }
2512
- const connector = toValue28(options.connector) ?? {};
2532
+ const connector = toValue29(options.connector) ?? {};
2513
2533
  const own = ++requestId;
2514
2534
  inFlight = true;
2515
2535
  isPending.value = true;
@@ -2546,9 +2566,9 @@ function useDelegate(options) {
2546
2566
  };
2547
2567
  watch15(
2548
2568
  [
2549
- () => toValue28(options.session),
2550
- () => toValue28(options.account),
2551
- () => toValue28(options.chainId)
2569
+ () => toValue29(options.session),
2570
+ () => toValue29(options.account),
2571
+ () => toValue29(options.chainId)
2552
2572
  ],
2553
2573
  reset,
2554
2574
  { flush: "sync" }
@@ -2558,7 +2578,7 @@ function useDelegate(options) {
2558
2578
  requestId++;
2559
2579
  });
2560
2580
  return {
2561
- delegate: (target) => run(target, toValue28(options.allowlist)),
2581
+ delegate: (target) => run(target, toValue29(options.allowlist)),
2562
2582
  revoke: () => run(REVOKE_DELEGATE, []),
2563
2583
  result,
2564
2584
  isPending,
@@ -2573,14 +2593,14 @@ import {
2573
2593
  readDelegation,
2574
2594
  UNKNOWN_DELEGATION
2575
2595
  } from "@naculus/connect-core";
2576
- import { computed as computed20, shallowRef as shallowRef26, toValue as toValue29, watch as watch16 } from "vue";
2596
+ import { computed as computed21, shallowRef as shallowRef26, toValue as toValue30, watch as watch16 } from "vue";
2577
2597
  function useDelegation(account, client, chainId) {
2578
2598
  const guard = useActionGuard();
2579
2599
  const status = shallowRef26(UNKNOWN_DELEGATION);
2580
2600
  const isFetching = shallowRef26(false);
2581
2601
  const refetch = async () => {
2582
- const reader = toValue29(client);
2583
- const address = bareEvmAddress8(toValue29(account));
2602
+ const reader = toValue30(client);
2603
+ const address = bareEvmAddress8(toValue30(account));
2584
2604
  status.value = UNKNOWN_DELEGATION;
2585
2605
  if (!reader || !address) {
2586
2606
  guard.reset();
@@ -2613,15 +2633,15 @@ function useDelegation(account, client, chainId) {
2613
2633
  });
2614
2634
  };
2615
2635
  watch16(
2616
- [() => toValue29(account), () => toValue29(client), () => toValue29(chainId)],
2636
+ [() => toValue30(account), () => toValue30(client), () => toValue30(chainId)],
2617
2637
  () => {
2618
2638
  void refetch();
2619
2639
  },
2620
2640
  { immediate: true, flush: "sync" }
2621
2641
  );
2622
2642
  return {
2623
- delegated: computed20(() => status.value.delegated),
2624
- delegate: computed20(() => status.value.delegate),
2643
+ delegated: computed21(() => status.value.delegated),
2644
+ delegate: computed21(() => status.value.delegate),
2625
2645
  isFetching,
2626
2646
  error: guard.error,
2627
2647
  refetch
@@ -2634,7 +2654,7 @@ import {
2634
2654
  DEFAULT_VERIFY_RETRY,
2635
2655
  describePayment
2636
2656
  } from "@naculus/connect-appkit-core";
2637
- import { onScopeDispose as onScopeDispose19, shallowRef as shallowRef27, unref as unref25 } from "vue";
2657
+ import { onScopeDispose as onScopeDispose19, shallowRef as shallowRef27, unref as unref26 } from "vue";
2638
2658
  function usePaymentFetch(pay, options = {}) {
2639
2659
  const guard = useActionGuard();
2640
2660
  const lastPayment = shallowRef27(null);
@@ -2645,7 +2665,7 @@ function usePaymentFetch(pay, options = {}) {
2645
2665
  verification++;
2646
2666
  });
2647
2667
  const payFetch = (input, init) => {
2648
- const invoke = unref25(pay);
2668
+ const invoke = unref26(pay);
2649
2669
  const own = epoch;
2650
2670
  return guard.run(async () => {
2651
2671
  const result = await invoke(input, init);
@@ -2712,9 +2732,9 @@ import {
2712
2732
  readMppRecoveryChannelId,
2713
2733
  readMppSessionReceipt
2714
2734
  } from "@naculus/connect-appkit-core";
2715
- import { onScopeDispose as onScopeDispose20, shallowRef as shallowRef28, unref as unref26, watch as watch17 } from "vue";
2735
+ import { onScopeDispose as onScopeDispose20, shallowRef as shallowRef28, unref as unref27, watch as watch17 } from "vue";
2716
2736
  function useMppSession(session) {
2717
- const current = () => unref26(session);
2737
+ const current = () => unref27(session);
2718
2738
  const pending = shallowRef28(current().meter.pending);
2719
2739
  const channel = shallowRef28(
2720
2740
  readCurrentMppSessionChannel(current())
@@ -2728,7 +2748,7 @@ function useMppSession(session) {
2728
2748
  let epoch = 0;
2729
2749
  let disposed = false;
2730
2750
  watch17(
2731
- () => unref26(session),
2751
+ () => unref27(session),
2732
2752
  (value) => {
2733
2753
  generation++;
2734
2754
  epoch++;
@@ -2841,7 +2861,7 @@ function useMppSession(session) {
2841
2861
  import {
2842
2862
  createSolanaSessionKeyFlow
2843
2863
  } from "@naculus/connect-appkit-core";
2844
- import { onScopeDispose as onScopeDispose21, shallowRef as shallowRef29, unref as unref27, watch as watch18 } from "vue";
2864
+ import { onScopeDispose as onScopeDispose21, shallowRef as shallowRef29, unref as unref28, watch as watch18 } from "vue";
2845
2865
  function useSolanaSessionKey(deps) {
2846
2866
  const guard = useActionGuard();
2847
2867
  const keys = shallowRef29([]);
@@ -2857,7 +2877,7 @@ function useSolanaSessionKey(deps) {
2857
2877
  if (!disposed && own === generation) keys.value = next;
2858
2878
  };
2859
2879
  watch18(
2860
- () => unref27(deps),
2880
+ () => unref28(deps),
2861
2881
  (next) => {
2862
2882
  flow = next ? createSolanaSessionKeyFlow(next) : null;
2863
2883
  guard.invalidate();
@@ -2891,16 +2911,16 @@ function useSolanaSessionKey(deps) {
2891
2911
 
2892
2912
  // src/name-lookup.ts
2893
2913
  import { getResolver } from "@naculus/connect-appkit-core";
2894
- import { computed as computed21, shallowRef as shallowRef30, toValue as toValue30, watch as watch19 } from "vue";
2914
+ import { computed as computed22, shallowRef as shallowRef30, toValue as toValue31, watch as watch19 } from "vue";
2895
2915
  function useNameLookup(options) {
2896
2916
  const guard = useActionGuard();
2897
2917
  const data = shallowRef30(null);
2898
2918
  const loading = shallowRef30(false);
2899
2919
  const run = () => {
2900
- const input = toValue30(options.input).trim();
2901
- const skip = toValue30(options.skip) ?? false;
2902
- const scope = toValue30(options.scope);
2903
- const config = toValue30(options.resolverConfig);
2920
+ const input = toValue31(options.input).trim();
2921
+ const skip = toValue31(options.skip) ?? false;
2922
+ const scope = toValue31(options.scope);
2923
+ const config = toValue31(options.resolverConfig);
2904
2924
  if (!input || skip) {
2905
2925
  guard.reset();
2906
2926
  data.value = null;
@@ -2937,17 +2957,17 @@ function useNameLookup(options) {
2937
2957
  };
2938
2958
  watch19(
2939
2959
  () => [
2940
- toValue30(options.input),
2941
- toValue30(options.skip),
2942
- toValue30(options.scope),
2943
- toValue30(options.resolverConfig)
2960
+ toValue31(options.input),
2961
+ toValue31(options.skip),
2962
+ toValue31(options.scope),
2963
+ toValue31(options.resolverConfig)
2944
2964
  ],
2945
2965
  run,
2946
2966
  { immediate: true, flush: "sync", deep: true }
2947
2967
  );
2948
2968
  return {
2949
2969
  data,
2950
- isLoading: computed21(() => loading.value),
2970
+ isLoading: computed22(() => loading.value),
2951
2971
  error: guard.error,
2952
2972
  refetch: run
2953
2973
  };
@@ -2975,21 +2995,21 @@ function useLookupAddress(address, options) {
2975
2995
  }
2976
2996
 
2977
2997
  // src/useSolanaAccount.ts
2978
- import { computed as computed22, toValue as toValue31 } from "vue";
2998
+ import { computed as computed23, toValue as toValue32 } from "vue";
2979
2999
  function useSolanaAccount(accounts, connected) {
2980
- const isConnected = computed22(() => toValue31(connected));
2981
- const caip10 = computed22(
2982
- () => isConnected.value ? (toValue31(accounts) ?? []).find(
3000
+ const isConnected = computed23(() => toValue32(connected));
3001
+ const caip10 = computed23(
3002
+ () => isConnected.value ? (toValue32(accounts) ?? []).find(
2983
3003
  (account) => account.startsWith("solana:")
2984
3004
  ) ?? null : null
2985
3005
  );
2986
- const parts = computed22(() => caip10.value?.split(":") ?? []);
3006
+ const parts = computed23(() => caip10.value?.split(":") ?? []);
2987
3007
  return {
2988
- address: computed22(
3008
+ address: computed23(
2989
3009
  () => parts.value.length >= 3 ? parts.value.at(-1) ?? null : null
2990
3010
  ),
2991
3011
  caip10,
2992
- chainId: computed22(
3012
+ chainId: computed23(
2993
3013
  () => parts.value.length >= 3 ? parts.value.slice(0, -1).join(":") : null
2994
3014
  ),
2995
3015
  isConnected
@@ -3004,19 +3024,19 @@ import {
3004
3024
  describeChain,
3005
3025
  resolveChain
3006
3026
  } from "@naculus/connect-appkit-core";
3007
- import { computed as computed23, toValue as toValue32 } from "vue";
3027
+ import { computed as computed24, toValue as toValue33 } from "vue";
3008
3028
  function useChain(chains, chainId) {
3009
- const list = computed23(() => toValue32(chains) ?? []);
3010
- const id = computed23(() => toValue32(chainId) ?? null);
3011
- const currentChain = computed23(() => resolveChain(list.value, id.value));
3029
+ const list = computed24(() => toValue33(chains) ?? []);
3030
+ const id = computed24(() => toValue33(chainId) ?? null);
3031
+ const currentChain = computed24(() => resolveChain(list.value, id.value));
3012
3032
  return {
3013
3033
  currentChain,
3014
- chainInfo: computed23(() => describeChain(list.value, id.value)),
3015
- availableChains: computed23(() => chainsForNamespace(list.value, id.value)),
3016
- currentChainNumber: computed23(
3034
+ chainInfo: computed24(() => describeChain(list.value, id.value)),
3035
+ availableChains: computed24(() => chainsForNamespace(list.value, id.value)),
3036
+ currentChainNumber: computed24(
3017
3037
  () => currentChain.value ? chainNumber2(currentChain.value) : null
3018
3038
  ),
3019
- namespace: computed23(
3039
+ namespace: computed24(
3020
3040
  () => currentChain.value ? chainNamespace(currentChain.value) : null
3021
3041
  )
3022
3042
  };
@@ -3040,14 +3060,14 @@ function usePassphraseGate(gate) {
3040
3060
 
3041
3061
  // src/useSolanaBalance.ts
3042
3062
  import { getSolanaBalance } from "@naculus/connect-core";
3043
- import { ref, shallowRef as shallowRef32, toValue as toValue33, watchEffect } from "vue";
3063
+ import { ref, shallowRef as shallowRef32, toValue as toValue34, watchEffect } from "vue";
3044
3064
  function useSolanaBalance(address, rpcUrl) {
3045
3065
  const guard = useActionGuard();
3046
3066
  const balance = shallowRef32(null);
3047
3067
  const isFetching = ref(false);
3048
3068
  const refetch = async () => {
3049
- const addr = toValue33(address);
3050
- const url = toValue33(rpcUrl);
3069
+ const addr = toValue34(address);
3070
+ const url = toValue34(rpcUrl);
3051
3071
  if (!addr || !url) {
3052
3072
  guard.invalidate();
3053
3073
  isFetching.value = false;
@@ -3080,21 +3100,21 @@ function useSolanaBalance(address, rpcUrl) {
3080
3100
  });
3081
3101
  };
3082
3102
  watchEffect(() => {
3083
- toValue33(address);
3084
- toValue33(rpcUrl);
3103
+ toValue34(address);
3104
+ toValue34(rpcUrl);
3085
3105
  void refetch();
3086
3106
  });
3087
3107
  return { balance, isFetching, error: guard.error, refetch };
3088
3108
  }
3089
3109
 
3090
3110
  // src/useLastTx.ts
3091
- import { shallowRef as shallowRef33, toValue as toValue34, watch as watch20 } from "vue";
3111
+ import { shallowRef as shallowRef33, toValue as toValue35, watch as watch20 } from "vue";
3092
3112
  function useLastTx(monitor) {
3093
3113
  const lastTx = shallowRef33(null);
3094
3114
  const lastConfirmedTx = shallowRef33(null);
3095
3115
  const lastFailedTx = shallowRef33(null);
3096
3116
  watch20(
3097
- () => toValue34(monitor),
3117
+ () => toValue35(monitor),
3098
3118
  (activeMonitor, _previous, onCleanup) => {
3099
3119
  if (!activeMonitor) return;
3100
3120
  const recordLatest = (entry) => {
@@ -3132,13 +3152,13 @@ function useLastTx(monitor) {
3132
3152
  }
3133
3153
 
3134
3154
  // src/useTxHistory.ts
3135
- import { computed as computed24, shallowRef as shallowRef34, toValue as toValue35, watch as watch21 } from "vue";
3155
+ import { computed as computed25, shallowRef as shallowRef34, toValue as toValue36, watch as watch21 } from "vue";
3136
3156
  function useTxHistory(address, chainId, monitor) {
3137
3157
  const guard = useActionGuard();
3138
3158
  const entries = shallowRef34([]);
3139
3159
  const isLoading = shallowRef34(false);
3140
3160
  const refresh = async () => {
3141
- const activeMonitor = toValue35(monitor);
3161
+ const activeMonitor = toValue36(monitor);
3142
3162
  if (!activeMonitor) {
3143
3163
  guard.reset();
3144
3164
  entries.value = [];
@@ -3149,8 +3169,8 @@ function useTxHistory(address, chainId, monitor) {
3149
3169
  await guard.run(
3150
3170
  async (commit) => {
3151
3171
  const result = await activeMonitor.getTxHistory(
3152
- toValue35(address) ?? void 0,
3153
- toValue35(chainId) ?? void 0
3172
+ toValue36(address) ?? void 0,
3173
+ toValue36(chainId) ?? void 0
3154
3174
  );
3155
3175
  commit(() => {
3156
3176
  entries.value = result;
@@ -3167,7 +3187,7 @@ function useTxHistory(address, chainId, monitor) {
3167
3187
  });
3168
3188
  };
3169
3189
  watch21(
3170
- [() => toValue35(monitor), () => toValue35(address), () => toValue35(chainId)],
3190
+ [() => toValue36(monitor), () => toValue36(address), () => toValue36(chainId)],
3171
3191
  ([activeMonitor], _previous, onCleanup) => {
3172
3192
  if (!activeMonitor) {
3173
3193
  void refresh();
@@ -3187,7 +3207,7 @@ function useTxHistory(address, chainId, monitor) {
3187
3207
  isLoading,
3188
3208
  error: guard.error,
3189
3209
  refresh,
3190
- summary: computed24(() => ({
3210
+ summary: computed25(() => ({
3191
3211
  pending: entries.value.filter((item) => item.status === "pending").length,
3192
3212
  confirmed: entries.value.filter((item) => item.status === "confirmed").length,
3193
3213
  failed: entries.value.filter((item) => item.status === "failed").length
@@ -3196,7 +3216,7 @@ function useTxHistory(address, chainId, monitor) {
3196
3216
  }
3197
3217
 
3198
3218
  // src/useTxMonitor.ts
3199
- import { computed as computed25, shallowRef as shallowRef35, toValue as toValue36, watch as watch22 } from "vue";
3219
+ import { computed as computed26, shallowRef as shallowRef35, toValue as toValue37, watch as watch22 } from "vue";
3200
3220
  function useTxMonitor(hash, chainId, monitor) {
3201
3221
  const entry = shallowRef35(null);
3202
3222
  const isLoading = shallowRef35(false);
@@ -3206,15 +3226,15 @@ function useTxMonitor(hash, chainId, monitor) {
3206
3226
  let generation = 0;
3207
3227
  let refreshed = [];
3208
3228
  const currentInputs = () => [
3209
- toValue36(monitor),
3210
- toValue36(hash),
3211
- toValue36(chainId)
3229
+ toValue37(monitor),
3230
+ toValue37(hash),
3231
+ toValue37(chainId)
3212
3232
  ];
3213
3233
  const sameInputs = (a, b) => a.every((value, i) => Object.is(value, b[i]));
3214
3234
  const refresh = async () => {
3215
- const activeMonitor = toValue36(monitor);
3216
- const activeHash = toValue36(hash);
3217
- const activeChainId = toValue36(chainId);
3235
+ const activeMonitor = toValue37(monitor);
3236
+ const activeHash = toValue37(hash);
3237
+ const activeChainId = toValue37(chainId);
3218
3238
  if (!activeMonitor || !activeHash) return;
3219
3239
  const started = [activeMonitor, activeHash, activeChainId];
3220
3240
  refreshed = started;
@@ -3250,15 +3270,15 @@ function useTxMonitor(hash, chainId, monitor) {
3250
3270
  });
3251
3271
  };
3252
3272
  const stopWatching = () => {
3253
- const activeMonitor = toValue36(monitor);
3254
- const activeHash = toValue36(hash);
3255
- const activeChainId = toValue36(chainId);
3273
+ const activeMonitor = toValue37(monitor);
3274
+ const activeHash = toValue37(hash);
3275
+ const activeChainId = toValue37(chainId);
3256
3276
  if (!activeMonitor || !activeHash) return;
3257
3277
  activeMonitor.stopWatching(activeHash, activeChainId ?? void 0);
3258
3278
  isWatching.value = false;
3259
3279
  };
3260
3280
  watch22(
3261
- [() => toValue36(monitor), () => toValue36(hash), () => toValue36(chainId)],
3281
+ [() => toValue37(monitor), () => toValue37(hash), () => toValue37(chainId)],
3262
3282
  ([activeMonitor, activeHash, activeChainId], _previous, onCleanup) => {
3263
3283
  const mine = ++generation;
3264
3284
  if (!sameInputs([activeMonitor, activeHash, activeChainId], refreshed)) {
@@ -3300,7 +3320,7 @@ function useTxMonitor(hash, chainId, monitor) {
3300
3320
  );
3301
3321
  return {
3302
3322
  entry,
3303
- status: computed25(() => entry.value?.status ?? "idle"),
3323
+ status: computed26(() => entry.value?.status ?? "idle"),
3304
3324
  isLoading,
3305
3325
  isWatching,
3306
3326
  error,
@@ -3315,7 +3335,7 @@ import {
3315
3335
  normalizeCapabilities,
3316
3336
  selectChainCapabilities
3317
3337
  } from "@naculus/connect-appkit-core";
3318
- import { computed as computed26, shallowRef as shallowRef36, toValue as toValue37, watchEffect as watchEffect2 } from "vue";
3338
+ import { computed as computed27, shallowRef as shallowRef36, toValue as toValue38, watchEffect as watchEffect2 } from "vue";
3319
3339
  function useCapabilities(client, session, chainId) {
3320
3340
  const guard = useActionGuard();
3321
3341
  const capabilities = shallowRef36(
@@ -3323,8 +3343,8 @@ function useCapabilities(client, session, chainId) {
3323
3343
  );
3324
3344
  const isFetching = shallowRef36(false);
3325
3345
  const refetch = async () => {
3326
- const activeClient = toValue37(client);
3327
- const activeSession = toValue37(session);
3346
+ const activeClient = toValue38(client);
3347
+ const activeSession = toValue38(session);
3328
3348
  if (!activeClient?.getCapabilities || !activeSession) {
3329
3349
  guard.reset();
3330
3350
  capabilities.value = null;
@@ -3357,17 +3377,17 @@ function useCapabilities(client, session, chainId) {
3357
3377
  });
3358
3378
  };
3359
3379
  watchEffect2(() => {
3360
- void toValue37(client);
3361
- void toValue37(session);
3380
+ void toValue38(client);
3381
+ void toValue38(session);
3362
3382
  void refetch();
3363
3383
  });
3364
3384
  return {
3365
3385
  capabilities,
3366
- current: computed26(
3367
- () => selectChainCapabilities(capabilities.value, toValue37(chainId))
3386
+ current: computed27(
3387
+ () => selectChainCapabilities(capabilities.value, toValue38(chainId))
3368
3388
  ),
3369
- atomic: computed26(
3370
- () => atomicSupportFor(capabilities.value, toValue37(chainId))
3389
+ atomic: computed27(
3390
+ () => atomicSupportFor(capabilities.value, toValue38(chainId))
3371
3391
  ),
3372
3392
  isFetching,
3373
3393
  error: guard.error,
@@ -3379,17 +3399,17 @@ function useCapabilities(client, session, chainId) {
3379
3399
  import {
3380
3400
  readSolanaRoles
3381
3401
  } from "@naculus/connect-appkit-core";
3382
- import { computed as computed27, toValue as toValue38 } from "vue";
3402
+ import { computed as computed28, toValue as toValue39 } from "vue";
3383
3403
  function useSolanaRoles(connector, session) {
3384
- const state = computed27(
3385
- () => readSolanaRoles(toValue38(connector), toValue38(session))
3404
+ const state = computed28(
3405
+ () => readSolanaRoles(toValue39(connector), toValue39(session))
3386
3406
  );
3387
3407
  return {
3388
- roles: computed27(() => state.value.roles),
3389
- absence: computed27(() => state.value.absence),
3390
- identity: computed27(() => state.value.roles?.identity ?? null),
3391
- signer: computed27(() => state.value.roles?.signer ?? null),
3392
- payer: computed27(() => state.value.roles?.payer ?? null)
3408
+ roles: computed28(() => state.value.roles),
3409
+ absence: computed28(() => state.value.absence),
3410
+ identity: computed28(() => state.value.roles?.identity ?? null),
3411
+ signer: computed28(() => state.value.roles?.signer ?? null),
3412
+ payer: computed28(() => state.value.roles?.payer ?? null)
3393
3413
  };
3394
3414
  }
3395
3415
  export {
@@ -3476,6 +3496,7 @@ export {
3476
3496
  useTxHistory,
3477
3497
  useTxMonitor,
3478
3498
  useUserOpStatus,
3479
- useValidateDestination
3499
+ useValidateDestination,
3500
+ useX402Signer
3480
3501
  };
3481
3502
  //# sourceMappingURL=index.js.map