@vue-solana/vue 2.0.0 → 2.1.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/README.md +159 -21
- package/dist/index.cjs +58 -20
- package/dist/index.d.cts +25 -5
- package/dist/index.d.mts +25 -5
- package/dist/index.d.ts +25 -5
- package/dist/index.mjs +37 -19
- package/dist/shared/vue.5euWd6-V.mjs +59 -0
- package/dist/shared/vue.9TPxZPMf.cjs +59 -0
- package/dist/shared/vue.B4-LEdSE.cjs +102 -0
- package/dist/shared/{vue.CP1DPDX9.cjs → vue.B6ainw2G.cjs} +1 -1
- package/dist/shared/vue.B8LptjZP.mjs +32 -0
- package/dist/shared/vue.B8pLQ8P4.cjs +105 -0
- package/dist/shared/vue.B8ub540p.mjs +109 -0
- package/dist/shared/{vue.DP7qY8Rk.mjs → vue.BD6Gm1nl.mjs} +2 -2
- package/dist/shared/{vue.BAlo-tIh.cjs → vue.BGxz4dru.cjs} +5 -1
- package/dist/shared/{vue.stUBDBI9.mjs → vue.BINkrA8h.mjs} +2 -2
- package/dist/shared/{vue.k9Q6aN-0.cjs → vue.BIxphCAq.cjs} +1 -1
- package/dist/shared/{vue.yQcL1yMv.mjs → vue.BOpgWr43.mjs} +2 -2
- package/dist/shared/{vue.dPRo2X5y.mjs → vue.BQRpjwKl.mjs} +2 -2
- package/dist/shared/{vue.CZwftA0L.cjs → vue.BVaMoz9y.cjs} +1 -1
- package/dist/shared/vue.BVj9lWBK.cjs +111 -0
- package/dist/shared/vue.BY0qpgYr.cjs +35 -0
- package/dist/shared/vue.Bk5xjlUx.cjs +61 -0
- package/dist/shared/{vue.3VLZmw05.mjs → vue.BsGwt78R.mjs} +1 -1
- package/dist/shared/{vue.B_LRH8SM.cjs → vue.Bwd1sGAM.cjs} +2 -2
- package/dist/shared/vue.ByxbBC3y.mjs +57 -0
- package/dist/shared/{vue.BbMPRDeO.mjs → vue.C13umiQi.mjs} +2 -2
- package/dist/shared/vue.C5FVoEZT.mjs +99 -0
- package/dist/shared/vue.CATOh_9G.mjs +42 -0
- package/dist/shared/{vue.XQFqlMId.cjs → vue.CIs8QhCw.cjs} +2 -2
- package/dist/shared/vue.CMohL_Cz.mjs +58 -0
- package/dist/shared/{vue.CnUlZSe8.mjs → vue.CQh3AUE8.mjs} +2 -5
- package/dist/shared/{vue.CSJSK0Nq.cjs → vue.CWZSMVnB.cjs} +3 -3
- package/dist/shared/{vue.DL-yMCNc.mjs → vue.CXB4NEMA.mjs} +2 -2
- package/dist/shared/{vue.D7xFeC2m.mjs → vue.C_4qJDiF.mjs} +1 -1
- package/dist/shared/vue.CoaIWGPT.cjs +38 -0
- package/dist/shared/vue.CogzzQXM.mjs +171 -0
- package/dist/shared/{vue.ChujsB0B.mjs → vue.CpkwC8Th.mjs} +1 -1
- package/dist/shared/vue.CrkK_T15.cjs +86 -0
- package/dist/shared/{vue.BMencBpI.cjs → vue.D-qi8PSL.cjs} +2 -2
- package/dist/shared/{vue.PJjEncbP.mjs → vue.D218Ow7t.mjs} +6 -2
- package/dist/shared/{vue.B2sFJ1xI.mjs → vue.D3Y0PWbF.mjs} +1 -1
- package/dist/shared/vue.D5U1yLG3.mjs +83 -0
- package/dist/shared/{vue.CXHYdyKZ.cjs → vue.DAg5wC1G.cjs} +2 -2
- package/dist/shared/vue.DDbVk0Zh.cjs +180 -0
- package/dist/shared/{vue.BaR1VPhl.cjs → vue.DE3emjSF.cjs} +2 -6
- package/dist/shared/vue.DEHxNvUX.cjs +7 -0
- package/dist/shared/vue.DFaMJLAQ.cjs +60 -0
- package/dist/shared/vue.DImwKTwJ.mjs +103 -0
- package/dist/shared/{vue.DgCmU1RR.cjs → vue.DKyQ7J67.cjs} +1 -1
- package/dist/shared/vue.DXQVIRZA.mjs +174 -0
- package/dist/shared/vue.DYk0Xfr3.mjs +36 -0
- package/dist/shared/vue.D_P5SqqD.mjs +5 -0
- package/dist/shared/{vue.C7yR7Cs0.cjs → vue.Di7yjJ-R.cjs} +2 -2
- package/dist/shared/vue.DtCbCcPd.cjs +173 -0
- package/dist/shared/{vue.WugzPOca.mjs → vue.Dyi1OCI1.mjs} +3 -3
- package/dist/shared/{vue.CEn2purG.cjs → vue.E_npPFoV.cjs} +2 -2
- package/dist/shared/{vue.__r7YYZE.cjs → vue.FiMmnMHr.cjs} +1 -1
- package/dist/shared/{vue.CZO8TwJP.mjs → vue.JUWqu6kD.mjs} +1 -1
- package/dist/shared/{vue.BaFrF2PF.mjs → vue.Mxc8w6Qk.mjs} +1 -1
- package/dist/shared/{vue.C32ozdA1.cjs → vue.Sbbm9JSu.cjs} +1 -1
- package/dist/shared/vue.g8fnm_ca.cjs +45 -0
- package/dist/swr.cjs +136 -0
- package/dist/swr.d.cts +41 -0
- package/dist/swr.d.mts +41 -0
- package/dist/swr.d.ts +41 -0
- package/dist/swr.mjs +131 -0
- package/dist/useAccountInfo.cjs +5 -4
- package/dist/useAccountInfo.mjs +5 -4
- package/dist/useAction.cjs +9 -0
- package/dist/useAction.d.cts +45 -0
- package/dist/useAction.d.mts +45 -0
- package/dist/useAction.d.ts +45 -0
- package/dist/useAction.mjs +3 -0
- package/dist/useBalance.cjs +5 -4
- package/dist/useBalance.mjs +5 -4
- package/dist/useClientCapability.cjs +12 -0
- package/dist/useClientCapability.d.cts +39 -0
- package/dist/useClientCapability.d.mts +39 -0
- package/dist/useClientCapability.d.ts +39 -0
- package/dist/useClientCapability.mjs +5 -0
- package/dist/useConnection.cjs +4 -3
- package/dist/useConnection.mjs +4 -3
- package/dist/useIdentity.cjs +12 -0
- package/dist/useIdentity.d.cts +3 -0
- package/dist/useIdentity.d.mts +3 -0
- package/dist/useIdentity.d.ts +3 -0
- package/dist/useIdentity.mjs +6 -0
- package/dist/usePayer.cjs +13 -0
- package/dist/usePayer.d.cts +18 -0
- package/dist/usePayer.d.mts +18 -0
- package/dist/usePayer.d.ts +18 -0
- package/dist/usePayer.mjs +6 -0
- package/dist/usePlanTransaction.cjs +14 -0
- package/dist/usePlanTransaction.d.cts +37 -0
- package/dist/usePlanTransaction.d.mts +37 -0
- package/dist/usePlanTransaction.d.ts +37 -0
- package/dist/usePlanTransaction.mjs +7 -0
- package/dist/usePlanTransactions.cjs +13 -0
- package/dist/usePlanTransactions.d.cts +4 -0
- package/dist/usePlanTransactions.d.mts +4 -0
- package/dist/usePlanTransactions.d.ts +4 -0
- package/dist/usePlanTransactions.mjs +7 -0
- package/dist/useProgramAccounts.cjs +5 -4
- package/dist/useProgramAccounts.mjs +5 -4
- package/dist/useRequest.cjs +11 -0
- package/dist/useRequest.d.cts +57 -0
- package/dist/useRequest.d.mts +57 -0
- package/dist/useRequest.d.ts +57 -0
- package/dist/useRequest.mjs +5 -0
- package/dist/useRpc.cjs +3 -2
- package/dist/useRpc.mjs +3 -2
- package/dist/useSelectedWalletAccount.cjs +13 -0
- package/dist/useSelectedWalletAccount.d.cts +117 -0
- package/dist/useSelectedWalletAccount.d.mts +117 -0
- package/dist/useSelectedWalletAccount.d.ts +117 -0
- package/dist/useSelectedWalletAccount.mjs +3 -0
- package/dist/useSignAndSendTransaction.cjs +7 -6
- package/dist/useSignAndSendTransaction.mjs +7 -6
- package/dist/useSignAndSendTransactions.cjs +15 -0
- package/dist/useSignAndSendTransactions.d.cts +35 -0
- package/dist/useSignAndSendTransactions.d.mts +35 -0
- package/dist/useSignAndSendTransactions.d.ts +35 -0
- package/dist/useSignAndSendTransactions.mjs +8 -0
- package/dist/useSignIn.cjs +13 -0
- package/dist/useSignIn.d.cts +23 -0
- package/dist/useSignIn.d.mts +23 -0
- package/dist/useSignIn.d.ts +23 -0
- package/dist/useSignIn.mjs +7 -0
- package/dist/useSignMessage.cjs +4 -3
- package/dist/useSignMessage.mjs +4 -3
- package/dist/useSignTransactions.cjs +13 -0
- package/dist/useSignTransactions.d.cts +24 -0
- package/dist/useSignTransactions.d.mts +24 -0
- package/dist/useSignTransactions.d.ts +24 -0
- package/dist/useSignTransactions.mjs +7 -0
- package/dist/useSignatureStatus.cjs +5 -4
- package/dist/useSignatureStatus.mjs +5 -4
- package/dist/useSolana.cjs +2 -1
- package/dist/useSolana.mjs +2 -1
- package/dist/useSolanaClient.cjs +3 -2
- package/dist/useSolanaClient.mjs +3 -2
- package/dist/useSubscription.cjs +9 -0
- package/dist/useSubscription.d.cts +58 -0
- package/dist/useSubscription.d.mts +58 -0
- package/dist/useSubscription.d.ts +58 -0
- package/dist/useSubscription.mjs +3 -0
- package/dist/useTokenAccounts.cjs +5 -4
- package/dist/useTokenAccounts.mjs +5 -4
- package/dist/useTokenBalance.cjs +5 -4
- package/dist/useTokenBalance.mjs +5 -4
- package/dist/useTrackedData.cjs +10 -0
- package/dist/useTrackedData.d.cts +86 -0
- package/dist/useTrackedData.d.mts +86 -0
- package/dist/useTrackedData.d.ts +86 -0
- package/dist/useTrackedData.mjs +4 -0
- package/dist/useTransaction.cjs +2 -1
- package/dist/useTransaction.d.cts +12 -1
- package/dist/useTransaction.d.mts +12 -1
- package/dist/useTransaction.d.ts +12 -1
- package/dist/useTransaction.mjs +2 -1
- package/dist/useTransactionConfirmation.cjs +5 -4
- package/dist/useTransactionConfirmation.mjs +5 -4
- package/dist/useWallet.cjs +3 -2
- package/dist/useWallet.mjs +3 -2
- package/dist/useWallets.cjs +3 -2
- package/dist/useWallets.mjs +3 -2
- package/package.json +73 -3
- package/dist/shared/vue.C4d2JA8U.mjs +0 -44
- package/dist/shared/vue.CE5i8KZZ.cjs +0 -46
package/dist/useRpc.mjs
CHANGED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const SelectedWalletAccountProvider = require('./shared/vue.DDbVk0Zh.cjs');
|
|
4
|
+
require('vue');
|
|
5
|
+
require('./shared/vue.DEHxNvUX.cjs');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
exports.SelectedWalletAccountProvider = SelectedWalletAccountProvider.SelectedWalletAccountProvider;
|
|
10
|
+
exports.createSelectedWalletAccountContext = SelectedWalletAccountProvider.createSelectedWalletAccountContext;
|
|
11
|
+
exports.provideSelectedWalletAccount = SelectedWalletAccountProvider.provideSelectedWalletAccount;
|
|
12
|
+
exports.selectedWalletAccountInjectionKey = SelectedWalletAccountProvider.selectedWalletAccountInjectionKey;
|
|
13
|
+
exports.useSelectedWalletAccount = SelectedWalletAccountProvider.useSelectedWalletAccount;
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { SolanaWalletInfo } from '@vue-solana/core/types';
|
|
2
|
+
import * as vue from 'vue';
|
|
3
|
+
import { Ref, ComputedRef, InjectionKey, PropType } from 'vue';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Storage adapter used by `SelectedWalletAccountProvider`'s `stateSync`
|
|
7
|
+
* option. The persisted value is the selected wallet's
|
|
8
|
+
* `${walletName}:${accountAddress}` key.
|
|
9
|
+
*/
|
|
10
|
+
interface SelectedWalletAccountStorage {
|
|
11
|
+
storeSelectedWallet(key: string): void | Promise<void>;
|
|
12
|
+
getSelectedWallet(): string | null | Promise<string | null>;
|
|
13
|
+
deleteSelectedWallet(): void | Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
type SelectedWalletAccount = SolanaWalletInfo["accounts"][number] & {
|
|
17
|
+
/** The wallet that owns this account. */
|
|
18
|
+
walletName: string;
|
|
19
|
+
};
|
|
20
|
+
type WalletAccountFilter = (walletName: string, account: SolanaWalletInfo["accounts"][number]) => boolean;
|
|
21
|
+
interface SelectedWalletAccountContext {
|
|
22
|
+
selectedWalletAccount: Ref<SelectedWalletAccount | null>;
|
|
23
|
+
setSelectedWalletAccount: (account: SelectedWalletAccount | null) => void;
|
|
24
|
+
filteredWallets: ComputedRef<SolanaWalletInfo[]>;
|
|
25
|
+
}
|
|
26
|
+
declare const selectedWalletAccountInjectionKey: InjectionKey<SelectedWalletAccountContext>;
|
|
27
|
+
interface SelectedWalletAccountOptions {
|
|
28
|
+
/**
|
|
29
|
+
* Restricts the wallets exposed through `filteredWallets` and the accounts
|
|
30
|
+
* that can be selected. Receives the wallet name and each of its accounts;
|
|
31
|
+
* return `false` to hide the account (a wallet with no remaining accounts
|
|
32
|
+
* is hidden entirely).
|
|
33
|
+
*/
|
|
34
|
+
filterWallet?: WalletAccountFilter;
|
|
35
|
+
/**
|
|
36
|
+
* Persists the selection as `${walletName}:${accountAddress}`. Defaults to
|
|
37
|
+
* `localStorage`; pass `null` to disable persistence.
|
|
38
|
+
*/
|
|
39
|
+
stateSync?: SelectedWalletAccountStorage | null;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* App-wide selected wallet account state, mirroring `@solana/react`'s
|
|
43
|
+
* `SelectedWalletAccountContextProvider`.
|
|
44
|
+
*
|
|
45
|
+
* Call once near the root of your app, then read state anywhere with
|
|
46
|
+
* {@link useSelectedWalletAccount}. The selection persists as
|
|
47
|
+
* `${walletName}:${accountAddress}` through `stateSync` and is restored on
|
|
48
|
+
* the next mount when the wallet and account are available again.
|
|
49
|
+
*/
|
|
50
|
+
declare function provideSelectedWalletAccount(options?: SelectedWalletAccountOptions): SelectedWalletAccountContext;
|
|
51
|
+
/**
|
|
52
|
+
* Build the selected wallet account context without providing it. Used by
|
|
53
|
+
* the Nuxt runtime plugin, which installs the context app-wide via
|
|
54
|
+
* `app.provide` rather than inside a component setup.
|
|
55
|
+
*
|
|
56
|
+
* When called outside a component setup (as the Nuxt plugin does), `inject`
|
|
57
|
+
* cannot resolve the Solana context, so pass it explicitly through
|
|
58
|
+
* {@link solanaContextOverride}.
|
|
59
|
+
*/
|
|
60
|
+
declare function createSelectedWalletAccountContext(options?: SelectedWalletAccountOptions, solanaContextOverride?: SolanaContextLike | null): SelectedWalletAccountContext;
|
|
61
|
+
/**
|
|
62
|
+
* Read the app-wide selected wallet account provided by
|
|
63
|
+
* {@link provideSelectedWalletAccount}.
|
|
64
|
+
*
|
|
65
|
+
* Returns `[selectedAccount, setSelectedAccount, filteredWallets]`. The
|
|
66
|
+
* setter accepts `null` to clear the selection. Throws when called outside a
|
|
67
|
+
* provider — mount `SelectedWalletAccountProvider` (or call
|
|
68
|
+
* `provideSelectedWalletAccount`) first.
|
|
69
|
+
*/
|
|
70
|
+
declare function useSelectedWalletAccount(): [
|
|
71
|
+
Ref<SelectedWalletAccount | null>,
|
|
72
|
+
(account: SelectedWalletAccount | null) => void,
|
|
73
|
+
ComputedRef<SolanaWalletInfo[]>
|
|
74
|
+
];
|
|
75
|
+
/**
|
|
76
|
+
* The minimal Solana context surface this composable reads. Structural so the
|
|
77
|
+
* full `VueSolanaContext` (or the raw RPC context) satisfies it without an
|
|
78
|
+
* import cycle from the plugin to its composables.
|
|
79
|
+
*/
|
|
80
|
+
interface SolanaContextLike {
|
|
81
|
+
wallets: Ref<SolanaWalletInfo[]>;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* App-wide selected wallet account provider, mirroring `@solana/react`'s
|
|
86
|
+
* `SelectedWalletAccountContextProvider`.
|
|
87
|
+
*
|
|
88
|
+
* Wraps `provideSelectedWalletAccount`; children read state via
|
|
89
|
+
* `useSelectedWalletAccount()`.
|
|
90
|
+
*/
|
|
91
|
+
declare const SelectedWalletAccountProvider: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
92
|
+
filterWallet: {
|
|
93
|
+
type: PropType<SelectedWalletAccountOptions["filterWallet"]>;
|
|
94
|
+
default: undefined;
|
|
95
|
+
};
|
|
96
|
+
stateSync: {
|
|
97
|
+
type: PropType<SelectedWalletAccountOptions["stateSync"]>;
|
|
98
|
+
default: undefined;
|
|
99
|
+
};
|
|
100
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
101
|
+
[key: string]: any;
|
|
102
|
+
}>[] | undefined, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
103
|
+
filterWallet: {
|
|
104
|
+
type: PropType<SelectedWalletAccountOptions["filterWallet"]>;
|
|
105
|
+
default: undefined;
|
|
106
|
+
};
|
|
107
|
+
stateSync: {
|
|
108
|
+
type: PropType<SelectedWalletAccountOptions["stateSync"]>;
|
|
109
|
+
default: undefined;
|
|
110
|
+
};
|
|
111
|
+
}>> & Readonly<{}>, {
|
|
112
|
+
filterWallet: WalletAccountFilter | undefined;
|
|
113
|
+
stateSync: SelectedWalletAccountStorage | null | undefined;
|
|
114
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
115
|
+
|
|
116
|
+
export { SelectedWalletAccountProvider, createSelectedWalletAccountContext, provideSelectedWalletAccount, selectedWalletAccountInjectionKey, useSelectedWalletAccount };
|
|
117
|
+
export type { SelectedWalletAccount, SelectedWalletAccountContext, SelectedWalletAccountOptions, WalletAccountFilter };
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { SolanaWalletInfo } from '@vue-solana/core/types';
|
|
2
|
+
import * as vue from 'vue';
|
|
3
|
+
import { Ref, ComputedRef, InjectionKey, PropType } from 'vue';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Storage adapter used by `SelectedWalletAccountProvider`'s `stateSync`
|
|
7
|
+
* option. The persisted value is the selected wallet's
|
|
8
|
+
* `${walletName}:${accountAddress}` key.
|
|
9
|
+
*/
|
|
10
|
+
interface SelectedWalletAccountStorage {
|
|
11
|
+
storeSelectedWallet(key: string): void | Promise<void>;
|
|
12
|
+
getSelectedWallet(): string | null | Promise<string | null>;
|
|
13
|
+
deleteSelectedWallet(): void | Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
type SelectedWalletAccount = SolanaWalletInfo["accounts"][number] & {
|
|
17
|
+
/** The wallet that owns this account. */
|
|
18
|
+
walletName: string;
|
|
19
|
+
};
|
|
20
|
+
type WalletAccountFilter = (walletName: string, account: SolanaWalletInfo["accounts"][number]) => boolean;
|
|
21
|
+
interface SelectedWalletAccountContext {
|
|
22
|
+
selectedWalletAccount: Ref<SelectedWalletAccount | null>;
|
|
23
|
+
setSelectedWalletAccount: (account: SelectedWalletAccount | null) => void;
|
|
24
|
+
filteredWallets: ComputedRef<SolanaWalletInfo[]>;
|
|
25
|
+
}
|
|
26
|
+
declare const selectedWalletAccountInjectionKey: InjectionKey<SelectedWalletAccountContext>;
|
|
27
|
+
interface SelectedWalletAccountOptions {
|
|
28
|
+
/**
|
|
29
|
+
* Restricts the wallets exposed through `filteredWallets` and the accounts
|
|
30
|
+
* that can be selected. Receives the wallet name and each of its accounts;
|
|
31
|
+
* return `false` to hide the account (a wallet with no remaining accounts
|
|
32
|
+
* is hidden entirely).
|
|
33
|
+
*/
|
|
34
|
+
filterWallet?: WalletAccountFilter;
|
|
35
|
+
/**
|
|
36
|
+
* Persists the selection as `${walletName}:${accountAddress}`. Defaults to
|
|
37
|
+
* `localStorage`; pass `null` to disable persistence.
|
|
38
|
+
*/
|
|
39
|
+
stateSync?: SelectedWalletAccountStorage | null;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* App-wide selected wallet account state, mirroring `@solana/react`'s
|
|
43
|
+
* `SelectedWalletAccountContextProvider`.
|
|
44
|
+
*
|
|
45
|
+
* Call once near the root of your app, then read state anywhere with
|
|
46
|
+
* {@link useSelectedWalletAccount}. The selection persists as
|
|
47
|
+
* `${walletName}:${accountAddress}` through `stateSync` and is restored on
|
|
48
|
+
* the next mount when the wallet and account are available again.
|
|
49
|
+
*/
|
|
50
|
+
declare function provideSelectedWalletAccount(options?: SelectedWalletAccountOptions): SelectedWalletAccountContext;
|
|
51
|
+
/**
|
|
52
|
+
* Build the selected wallet account context without providing it. Used by
|
|
53
|
+
* the Nuxt runtime plugin, which installs the context app-wide via
|
|
54
|
+
* `app.provide` rather than inside a component setup.
|
|
55
|
+
*
|
|
56
|
+
* When called outside a component setup (as the Nuxt plugin does), `inject`
|
|
57
|
+
* cannot resolve the Solana context, so pass it explicitly through
|
|
58
|
+
* {@link solanaContextOverride}.
|
|
59
|
+
*/
|
|
60
|
+
declare function createSelectedWalletAccountContext(options?: SelectedWalletAccountOptions, solanaContextOverride?: SolanaContextLike | null): SelectedWalletAccountContext;
|
|
61
|
+
/**
|
|
62
|
+
* Read the app-wide selected wallet account provided by
|
|
63
|
+
* {@link provideSelectedWalletAccount}.
|
|
64
|
+
*
|
|
65
|
+
* Returns `[selectedAccount, setSelectedAccount, filteredWallets]`. The
|
|
66
|
+
* setter accepts `null` to clear the selection. Throws when called outside a
|
|
67
|
+
* provider — mount `SelectedWalletAccountProvider` (or call
|
|
68
|
+
* `provideSelectedWalletAccount`) first.
|
|
69
|
+
*/
|
|
70
|
+
declare function useSelectedWalletAccount(): [
|
|
71
|
+
Ref<SelectedWalletAccount | null>,
|
|
72
|
+
(account: SelectedWalletAccount | null) => void,
|
|
73
|
+
ComputedRef<SolanaWalletInfo[]>
|
|
74
|
+
];
|
|
75
|
+
/**
|
|
76
|
+
* The minimal Solana context surface this composable reads. Structural so the
|
|
77
|
+
* full `VueSolanaContext` (or the raw RPC context) satisfies it without an
|
|
78
|
+
* import cycle from the plugin to its composables.
|
|
79
|
+
*/
|
|
80
|
+
interface SolanaContextLike {
|
|
81
|
+
wallets: Ref<SolanaWalletInfo[]>;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* App-wide selected wallet account provider, mirroring `@solana/react`'s
|
|
86
|
+
* `SelectedWalletAccountContextProvider`.
|
|
87
|
+
*
|
|
88
|
+
* Wraps `provideSelectedWalletAccount`; children read state via
|
|
89
|
+
* `useSelectedWalletAccount()`.
|
|
90
|
+
*/
|
|
91
|
+
declare const SelectedWalletAccountProvider: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
92
|
+
filterWallet: {
|
|
93
|
+
type: PropType<SelectedWalletAccountOptions["filterWallet"]>;
|
|
94
|
+
default: undefined;
|
|
95
|
+
};
|
|
96
|
+
stateSync: {
|
|
97
|
+
type: PropType<SelectedWalletAccountOptions["stateSync"]>;
|
|
98
|
+
default: undefined;
|
|
99
|
+
};
|
|
100
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
101
|
+
[key: string]: any;
|
|
102
|
+
}>[] | undefined, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
103
|
+
filterWallet: {
|
|
104
|
+
type: PropType<SelectedWalletAccountOptions["filterWallet"]>;
|
|
105
|
+
default: undefined;
|
|
106
|
+
};
|
|
107
|
+
stateSync: {
|
|
108
|
+
type: PropType<SelectedWalletAccountOptions["stateSync"]>;
|
|
109
|
+
default: undefined;
|
|
110
|
+
};
|
|
111
|
+
}>> & Readonly<{}>, {
|
|
112
|
+
filterWallet: WalletAccountFilter | undefined;
|
|
113
|
+
stateSync: SelectedWalletAccountStorage | null | undefined;
|
|
114
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
115
|
+
|
|
116
|
+
export { SelectedWalletAccountProvider, createSelectedWalletAccountContext, provideSelectedWalletAccount, selectedWalletAccountInjectionKey, useSelectedWalletAccount };
|
|
117
|
+
export type { SelectedWalletAccount, SelectedWalletAccountContext, SelectedWalletAccountOptions, WalletAccountFilter };
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { SolanaWalletInfo } from '@vue-solana/core/types';
|
|
2
|
+
import * as vue from 'vue';
|
|
3
|
+
import { Ref, ComputedRef, InjectionKey, PropType } from 'vue';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Storage adapter used by `SelectedWalletAccountProvider`'s `stateSync`
|
|
7
|
+
* option. The persisted value is the selected wallet's
|
|
8
|
+
* `${walletName}:${accountAddress}` key.
|
|
9
|
+
*/
|
|
10
|
+
interface SelectedWalletAccountStorage {
|
|
11
|
+
storeSelectedWallet(key: string): void | Promise<void>;
|
|
12
|
+
getSelectedWallet(): string | null | Promise<string | null>;
|
|
13
|
+
deleteSelectedWallet(): void | Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
type SelectedWalletAccount = SolanaWalletInfo["accounts"][number] & {
|
|
17
|
+
/** The wallet that owns this account. */
|
|
18
|
+
walletName: string;
|
|
19
|
+
};
|
|
20
|
+
type WalletAccountFilter = (walletName: string, account: SolanaWalletInfo["accounts"][number]) => boolean;
|
|
21
|
+
interface SelectedWalletAccountContext {
|
|
22
|
+
selectedWalletAccount: Ref<SelectedWalletAccount | null>;
|
|
23
|
+
setSelectedWalletAccount: (account: SelectedWalletAccount | null) => void;
|
|
24
|
+
filteredWallets: ComputedRef<SolanaWalletInfo[]>;
|
|
25
|
+
}
|
|
26
|
+
declare const selectedWalletAccountInjectionKey: InjectionKey<SelectedWalletAccountContext>;
|
|
27
|
+
interface SelectedWalletAccountOptions {
|
|
28
|
+
/**
|
|
29
|
+
* Restricts the wallets exposed through `filteredWallets` and the accounts
|
|
30
|
+
* that can be selected. Receives the wallet name and each of its accounts;
|
|
31
|
+
* return `false` to hide the account (a wallet with no remaining accounts
|
|
32
|
+
* is hidden entirely).
|
|
33
|
+
*/
|
|
34
|
+
filterWallet?: WalletAccountFilter;
|
|
35
|
+
/**
|
|
36
|
+
* Persists the selection as `${walletName}:${accountAddress}`. Defaults to
|
|
37
|
+
* `localStorage`; pass `null` to disable persistence.
|
|
38
|
+
*/
|
|
39
|
+
stateSync?: SelectedWalletAccountStorage | null;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* App-wide selected wallet account state, mirroring `@solana/react`'s
|
|
43
|
+
* `SelectedWalletAccountContextProvider`.
|
|
44
|
+
*
|
|
45
|
+
* Call once near the root of your app, then read state anywhere with
|
|
46
|
+
* {@link useSelectedWalletAccount}. The selection persists as
|
|
47
|
+
* `${walletName}:${accountAddress}` through `stateSync` and is restored on
|
|
48
|
+
* the next mount when the wallet and account are available again.
|
|
49
|
+
*/
|
|
50
|
+
declare function provideSelectedWalletAccount(options?: SelectedWalletAccountOptions): SelectedWalletAccountContext;
|
|
51
|
+
/**
|
|
52
|
+
* Build the selected wallet account context without providing it. Used by
|
|
53
|
+
* the Nuxt runtime plugin, which installs the context app-wide via
|
|
54
|
+
* `app.provide` rather than inside a component setup.
|
|
55
|
+
*
|
|
56
|
+
* When called outside a component setup (as the Nuxt plugin does), `inject`
|
|
57
|
+
* cannot resolve the Solana context, so pass it explicitly through
|
|
58
|
+
* {@link solanaContextOverride}.
|
|
59
|
+
*/
|
|
60
|
+
declare function createSelectedWalletAccountContext(options?: SelectedWalletAccountOptions, solanaContextOverride?: SolanaContextLike | null): SelectedWalletAccountContext;
|
|
61
|
+
/**
|
|
62
|
+
* Read the app-wide selected wallet account provided by
|
|
63
|
+
* {@link provideSelectedWalletAccount}.
|
|
64
|
+
*
|
|
65
|
+
* Returns `[selectedAccount, setSelectedAccount, filteredWallets]`. The
|
|
66
|
+
* setter accepts `null` to clear the selection. Throws when called outside a
|
|
67
|
+
* provider — mount `SelectedWalletAccountProvider` (or call
|
|
68
|
+
* `provideSelectedWalletAccount`) first.
|
|
69
|
+
*/
|
|
70
|
+
declare function useSelectedWalletAccount(): [
|
|
71
|
+
Ref<SelectedWalletAccount | null>,
|
|
72
|
+
(account: SelectedWalletAccount | null) => void,
|
|
73
|
+
ComputedRef<SolanaWalletInfo[]>
|
|
74
|
+
];
|
|
75
|
+
/**
|
|
76
|
+
* The minimal Solana context surface this composable reads. Structural so the
|
|
77
|
+
* full `VueSolanaContext` (or the raw RPC context) satisfies it without an
|
|
78
|
+
* import cycle from the plugin to its composables.
|
|
79
|
+
*/
|
|
80
|
+
interface SolanaContextLike {
|
|
81
|
+
wallets: Ref<SolanaWalletInfo[]>;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* App-wide selected wallet account provider, mirroring `@solana/react`'s
|
|
86
|
+
* `SelectedWalletAccountContextProvider`.
|
|
87
|
+
*
|
|
88
|
+
* Wraps `provideSelectedWalletAccount`; children read state via
|
|
89
|
+
* `useSelectedWalletAccount()`.
|
|
90
|
+
*/
|
|
91
|
+
declare const SelectedWalletAccountProvider: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
92
|
+
filterWallet: {
|
|
93
|
+
type: PropType<SelectedWalletAccountOptions["filterWallet"]>;
|
|
94
|
+
default: undefined;
|
|
95
|
+
};
|
|
96
|
+
stateSync: {
|
|
97
|
+
type: PropType<SelectedWalletAccountOptions["stateSync"]>;
|
|
98
|
+
default: undefined;
|
|
99
|
+
};
|
|
100
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
101
|
+
[key: string]: any;
|
|
102
|
+
}>[] | undefined, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
103
|
+
filterWallet: {
|
|
104
|
+
type: PropType<SelectedWalletAccountOptions["filterWallet"]>;
|
|
105
|
+
default: undefined;
|
|
106
|
+
};
|
|
107
|
+
stateSync: {
|
|
108
|
+
type: PropType<SelectedWalletAccountOptions["stateSync"]>;
|
|
109
|
+
default: undefined;
|
|
110
|
+
};
|
|
111
|
+
}>> & Readonly<{}>, {
|
|
112
|
+
filterWallet: WalletAccountFilter | undefined;
|
|
113
|
+
stateSync: SelectedWalletAccountStorage | null | undefined;
|
|
114
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
115
|
+
|
|
116
|
+
export { SelectedWalletAccountProvider, createSelectedWalletAccountContext, provideSelectedWalletAccount, selectedWalletAccountInjectionKey, useSelectedWalletAccount };
|
|
117
|
+
export type { SelectedWalletAccount, SelectedWalletAccountContext, SelectedWalletAccountOptions, WalletAccountFilter };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { S as SelectedWalletAccountProvider, c as createSelectedWalletAccountContext, p as provideSelectedWalletAccount, s as selectedWalletAccountInjectionKey, u as useSelectedWalletAccount } from './shared/vue.DXQVIRZA.mjs';
|
|
2
|
+
import 'vue';
|
|
3
|
+
import './shared/vue.D_P5SqqD.mjs';
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const useSignAndSendTransaction = require('./shared/vue.
|
|
3
|
+
const useSignAndSendTransaction = require('./shared/vue.CWZSMVnB.cjs');
|
|
4
4
|
require('@vue-solana/core/errors');
|
|
5
5
|
require('@vue-solana/core/timeout');
|
|
6
6
|
require('@vue-solana/core/transaction');
|
|
7
7
|
require('@vue-solana/core/wallet');
|
|
8
8
|
require('vue');
|
|
9
|
-
require('./shared/vue.
|
|
10
|
-
require('./shared/vue.
|
|
11
|
-
require('./shared/vue.
|
|
12
|
-
require('./shared/vue.
|
|
13
|
-
require('./shared/vue.
|
|
9
|
+
require('./shared/vue.BVaMoz9y.cjs');
|
|
10
|
+
require('./shared/vue.BIxphCAq.cjs');
|
|
11
|
+
require('./shared/vue.DE3emjSF.cjs');
|
|
12
|
+
require('./shared/vue.DEHxNvUX.cjs');
|
|
13
|
+
require('./shared/vue.BGxz4dru.cjs');
|
|
14
|
+
require('./shared/vue.Sbbm9JSu.cjs');
|
|
14
15
|
|
|
15
16
|
|
|
16
17
|
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
export { u as useSignAndSendTransaction } from './shared/vue.
|
|
1
|
+
export { u as useSignAndSendTransaction } from './shared/vue.Dyi1OCI1.mjs';
|
|
2
2
|
import '@vue-solana/core/errors';
|
|
3
3
|
import '@vue-solana/core/timeout';
|
|
4
4
|
import '@vue-solana/core/transaction';
|
|
5
5
|
import '@vue-solana/core/wallet';
|
|
6
6
|
import 'vue';
|
|
7
|
-
import './shared/vue.
|
|
8
|
-
import './shared/vue.
|
|
9
|
-
import './shared/vue.
|
|
10
|
-
import './shared/vue.
|
|
11
|
-
import './shared/vue.
|
|
7
|
+
import './shared/vue.CpkwC8Th.mjs';
|
|
8
|
+
import './shared/vue.Mxc8w6Qk.mjs';
|
|
9
|
+
import './shared/vue.CQh3AUE8.mjs';
|
|
10
|
+
import './shared/vue.D_P5SqqD.mjs';
|
|
11
|
+
import './shared/vue.D218Ow7t.mjs';
|
|
12
|
+
import './shared/vue.D3Y0PWbF.mjs';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const useSignAndSendTransactions = require('./shared/vue.CrkK_T15.cjs');
|
|
4
|
+
require('@vue-solana/core/errors');
|
|
5
|
+
require('@vue-solana/core/timeout');
|
|
6
|
+
require('@vue-solana/core/wallet');
|
|
7
|
+
require('vue');
|
|
8
|
+
require('./shared/vue.BGxz4dru.cjs');
|
|
9
|
+
require('./shared/vue.DE3emjSF.cjs');
|
|
10
|
+
require('./shared/vue.DEHxNvUX.cjs');
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
exports.PartialSignAndSendError = useSignAndSendTransactions.PartialSignAndSendError;
|
|
15
|
+
exports.useSignAndSendTransactions = useSignAndSendTransactions.useSignAndSendTransactions;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as vue from 'vue';
|
|
2
|
+
import { Signature } from '@vue-solana/core/kit';
|
|
3
|
+
import { SolanaTransaction, SendTransactionOptions } from '@vue-solana/core/types';
|
|
4
|
+
import { SolanaError } from '@vue-solana/core/errors';
|
|
5
|
+
|
|
6
|
+
type SignAndSendTransactionsStatus = "idle" | "sending" | "sent" | "error";
|
|
7
|
+
/**
|
|
8
|
+
* Thrown when the singular fallback path fails partway through: the earlier
|
|
9
|
+
* transactions in the batch have already been sent, and their signatures are
|
|
10
|
+
* exposed here so callers can avoid resubmitting them.
|
|
11
|
+
*/
|
|
12
|
+
declare class PartialSignAndSendError extends SolanaError {
|
|
13
|
+
readonly signatures: Signature[];
|
|
14
|
+
constructor(cause: SolanaError, signatures: Signature[]);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Sign and send multiple serialized transactions in a single wallet request,
|
|
18
|
+
* returning one signature per transaction.
|
|
19
|
+
*
|
|
20
|
+
* Prefers the wallet's batch `signAndSendTransactions` capability and falls
|
|
21
|
+
* back to sending the singular `signAndSendTransaction` requests in sequence.
|
|
22
|
+
* When that fallback fails partway through, it rejects with a
|
|
23
|
+
* {@link PartialSignAndSendError} carrying the signatures already sent, so a
|
|
24
|
+
* retry can skip them (the wallet has no batch rollback).
|
|
25
|
+
*/
|
|
26
|
+
declare function useSignAndSendTransactions(): {
|
|
27
|
+
signatures: vue.ShallowRef<Signature[] | null, Signature[] | null>;
|
|
28
|
+
status: vue.Ref<SignAndSendTransactionsStatus, SignAndSendTransactionsStatus>;
|
|
29
|
+
loading: vue.Ref<boolean, boolean>;
|
|
30
|
+
error: vue.Ref<SolanaError | null, SolanaError | null>;
|
|
31
|
+
execute: (transactions: SolanaTransaction[], options?: SendTransactionOptions) => Promise<Signature[]>;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export { PartialSignAndSendError, useSignAndSendTransactions };
|
|
35
|
+
export type { SignAndSendTransactionsStatus };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as vue from 'vue';
|
|
2
|
+
import { Signature } from '@vue-solana/core/kit';
|
|
3
|
+
import { SolanaTransaction, SendTransactionOptions } from '@vue-solana/core/types';
|
|
4
|
+
import { SolanaError } from '@vue-solana/core/errors';
|
|
5
|
+
|
|
6
|
+
type SignAndSendTransactionsStatus = "idle" | "sending" | "sent" | "error";
|
|
7
|
+
/**
|
|
8
|
+
* Thrown when the singular fallback path fails partway through: the earlier
|
|
9
|
+
* transactions in the batch have already been sent, and their signatures are
|
|
10
|
+
* exposed here so callers can avoid resubmitting them.
|
|
11
|
+
*/
|
|
12
|
+
declare class PartialSignAndSendError extends SolanaError {
|
|
13
|
+
readonly signatures: Signature[];
|
|
14
|
+
constructor(cause: SolanaError, signatures: Signature[]);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Sign and send multiple serialized transactions in a single wallet request,
|
|
18
|
+
* returning one signature per transaction.
|
|
19
|
+
*
|
|
20
|
+
* Prefers the wallet's batch `signAndSendTransactions` capability and falls
|
|
21
|
+
* back to sending the singular `signAndSendTransaction` requests in sequence.
|
|
22
|
+
* When that fallback fails partway through, it rejects with a
|
|
23
|
+
* {@link PartialSignAndSendError} carrying the signatures already sent, so a
|
|
24
|
+
* retry can skip them (the wallet has no batch rollback).
|
|
25
|
+
*/
|
|
26
|
+
declare function useSignAndSendTransactions(): {
|
|
27
|
+
signatures: vue.ShallowRef<Signature[] | null, Signature[] | null>;
|
|
28
|
+
status: vue.Ref<SignAndSendTransactionsStatus, SignAndSendTransactionsStatus>;
|
|
29
|
+
loading: vue.Ref<boolean, boolean>;
|
|
30
|
+
error: vue.Ref<SolanaError | null, SolanaError | null>;
|
|
31
|
+
execute: (transactions: SolanaTransaction[], options?: SendTransactionOptions) => Promise<Signature[]>;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export { PartialSignAndSendError, useSignAndSendTransactions };
|
|
35
|
+
export type { SignAndSendTransactionsStatus };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as vue from 'vue';
|
|
2
|
+
import { Signature } from '@vue-solana/core/kit';
|
|
3
|
+
import { SolanaTransaction, SendTransactionOptions } from '@vue-solana/core/types';
|
|
4
|
+
import { SolanaError } from '@vue-solana/core/errors';
|
|
5
|
+
|
|
6
|
+
type SignAndSendTransactionsStatus = "idle" | "sending" | "sent" | "error";
|
|
7
|
+
/**
|
|
8
|
+
* Thrown when the singular fallback path fails partway through: the earlier
|
|
9
|
+
* transactions in the batch have already been sent, and their signatures are
|
|
10
|
+
* exposed here so callers can avoid resubmitting them.
|
|
11
|
+
*/
|
|
12
|
+
declare class PartialSignAndSendError extends SolanaError {
|
|
13
|
+
readonly signatures: Signature[];
|
|
14
|
+
constructor(cause: SolanaError, signatures: Signature[]);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Sign and send multiple serialized transactions in a single wallet request,
|
|
18
|
+
* returning one signature per transaction.
|
|
19
|
+
*
|
|
20
|
+
* Prefers the wallet's batch `signAndSendTransactions` capability and falls
|
|
21
|
+
* back to sending the singular `signAndSendTransaction` requests in sequence.
|
|
22
|
+
* When that fallback fails partway through, it rejects with a
|
|
23
|
+
* {@link PartialSignAndSendError} carrying the signatures already sent, so a
|
|
24
|
+
* retry can skip them (the wallet has no batch rollback).
|
|
25
|
+
*/
|
|
26
|
+
declare function useSignAndSendTransactions(): {
|
|
27
|
+
signatures: vue.ShallowRef<Signature[] | null, Signature[] | null>;
|
|
28
|
+
status: vue.Ref<SignAndSendTransactionsStatus, SignAndSendTransactionsStatus>;
|
|
29
|
+
loading: vue.Ref<boolean, boolean>;
|
|
30
|
+
error: vue.Ref<SolanaError | null, SolanaError | null>;
|
|
31
|
+
execute: (transactions: SolanaTransaction[], options?: SendTransactionOptions) => Promise<Signature[]>;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export { PartialSignAndSendError, useSignAndSendTransactions };
|
|
35
|
+
export type { SignAndSendTransactionsStatus };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { P as PartialSignAndSendError, u as useSignAndSendTransactions } from './shared/vue.D5U1yLG3.mjs';
|
|
2
|
+
import '@vue-solana/core/errors';
|
|
3
|
+
import '@vue-solana/core/timeout';
|
|
4
|
+
import '@vue-solana/core/wallet';
|
|
5
|
+
import 'vue';
|
|
6
|
+
import './shared/vue.D218Ow7t.mjs';
|
|
7
|
+
import './shared/vue.CQh3AUE8.mjs';
|
|
8
|
+
import './shared/vue.D_P5SqqD.mjs';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const useSignIn = require('./shared/vue.9TPxZPMf.cjs');
|
|
4
|
+
require('@vue-solana/core/errors');
|
|
5
|
+
require('@vue-solana/core/wallet');
|
|
6
|
+
require('vue');
|
|
7
|
+
require('./shared/vue.BGxz4dru.cjs');
|
|
8
|
+
require('./shared/vue.DE3emjSF.cjs');
|
|
9
|
+
require('./shared/vue.DEHxNvUX.cjs');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
exports.useSignIn = useSignIn.useSignIn;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as vue from 'vue';
|
|
2
|
+
import { SolanaSignInResult, SolanaSignInInput } from '@vue-solana/core/types';
|
|
3
|
+
import { SolanaError } from '@vue-solana/core/errors';
|
|
4
|
+
|
|
5
|
+
type SignInStatus = "idle" | "signing-in" | "signed-in" | "error";
|
|
6
|
+
/**
|
|
7
|
+
* Trigger a wallet's Sign In With Solana (SIWS) feature.
|
|
8
|
+
*
|
|
9
|
+
* Resolves `{ account, signedMessage, signature }` for **server-side
|
|
10
|
+
* verification** — the signature is over `signedMessage` and must be verified
|
|
11
|
+
* against `account.publicKey` on your backend before trusting the identity
|
|
12
|
+
* (see the message-signing guide). The wallet UI drives domain/nonce consent.
|
|
13
|
+
*/
|
|
14
|
+
declare function useSignIn(): {
|
|
15
|
+
signInResult: vue.ShallowRef<SolanaSignInResult | null, SolanaSignInResult | null>;
|
|
16
|
+
status: vue.Ref<SignInStatus, SignInStatus>;
|
|
17
|
+
loading: vue.Ref<boolean, boolean>;
|
|
18
|
+
error: vue.Ref<SolanaError | null, SolanaError | null>;
|
|
19
|
+
signIn: (input?: SolanaSignInInput) => Promise<SolanaSignInResult>;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export { useSignIn };
|
|
23
|
+
export type { SignInStatus };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as vue from 'vue';
|
|
2
|
+
import { SolanaSignInResult, SolanaSignInInput } from '@vue-solana/core/types';
|
|
3
|
+
import { SolanaError } from '@vue-solana/core/errors';
|
|
4
|
+
|
|
5
|
+
type SignInStatus = "idle" | "signing-in" | "signed-in" | "error";
|
|
6
|
+
/**
|
|
7
|
+
* Trigger a wallet's Sign In With Solana (SIWS) feature.
|
|
8
|
+
*
|
|
9
|
+
* Resolves `{ account, signedMessage, signature }` for **server-side
|
|
10
|
+
* verification** — the signature is over `signedMessage` and must be verified
|
|
11
|
+
* against `account.publicKey` on your backend before trusting the identity
|
|
12
|
+
* (see the message-signing guide). The wallet UI drives domain/nonce consent.
|
|
13
|
+
*/
|
|
14
|
+
declare function useSignIn(): {
|
|
15
|
+
signInResult: vue.ShallowRef<SolanaSignInResult | null, SolanaSignInResult | null>;
|
|
16
|
+
status: vue.Ref<SignInStatus, SignInStatus>;
|
|
17
|
+
loading: vue.Ref<boolean, boolean>;
|
|
18
|
+
error: vue.Ref<SolanaError | null, SolanaError | null>;
|
|
19
|
+
signIn: (input?: SolanaSignInInput) => Promise<SolanaSignInResult>;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export { useSignIn };
|
|
23
|
+
export type { SignInStatus };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as vue from 'vue';
|
|
2
|
+
import { SolanaSignInResult, SolanaSignInInput } from '@vue-solana/core/types';
|
|
3
|
+
import { SolanaError } from '@vue-solana/core/errors';
|
|
4
|
+
|
|
5
|
+
type SignInStatus = "idle" | "signing-in" | "signed-in" | "error";
|
|
6
|
+
/**
|
|
7
|
+
* Trigger a wallet's Sign In With Solana (SIWS) feature.
|
|
8
|
+
*
|
|
9
|
+
* Resolves `{ account, signedMessage, signature }` for **server-side
|
|
10
|
+
* verification** — the signature is over `signedMessage` and must be verified
|
|
11
|
+
* against `account.publicKey` on your backend before trusting the identity
|
|
12
|
+
* (see the message-signing guide). The wallet UI drives domain/nonce consent.
|
|
13
|
+
*/
|
|
14
|
+
declare function useSignIn(): {
|
|
15
|
+
signInResult: vue.ShallowRef<SolanaSignInResult | null, SolanaSignInResult | null>;
|
|
16
|
+
status: vue.Ref<SignInStatus, SignInStatus>;
|
|
17
|
+
loading: vue.Ref<boolean, boolean>;
|
|
18
|
+
error: vue.Ref<SolanaError | null, SolanaError | null>;
|
|
19
|
+
signIn: (input?: SolanaSignInInput) => Promise<SolanaSignInResult>;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export { useSignIn };
|
|
23
|
+
export type { SignInStatus };
|