@vue-solana/vue 0.3.1 → 0.3.3

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 CHANGED
@@ -11,6 +11,7 @@ New to Solana? Start with the official docs and the project concepts guide:
11
11
  - [Solana Clusters](https://solana.com/docs/references/clusters)
12
12
  - [Vue Solana Concepts Guide](https://vue-solana-docs.vercel.app/concepts/solana-for-vue-developers)
13
13
  - [`@vue-solana/vue` docs](https://vue-solana-docs.vercel.app/packages/vue)
14
+ - [Agent Skill](https://vue-solana-docs.vercel.app/agent-skill)
14
15
  - [Live demo](https://vue-solana-docs.vercel.app/demo)
15
16
 
16
17
  ## Install
@@ -169,7 +170,7 @@ await execute(transaction, {
169
170
  });
170
171
  ```
171
172
 
172
- The current wallet must be connected and support either `signAndSendTransaction` or `signTransaction`.
173
+ The current wallet must be connected and support either `signAndSendTransaction` or `signTransaction`. Android Mobile Wallet Adapter wallets prefer `signTransaction` plus app-side RPC submission when available. `loading` is also cleared if a wallet adapter never returns a result; in that stale case, check the wallet or an explorer before retrying because chain status may be unknown.
173
174
 
174
175
  ## Example App
175
176
 
@@ -183,6 +184,16 @@ Docs: <a href="https://vue-solana-docs.vercel.app/examples/vue-vite" target="_bl
183
184
 
184
185
  Live demo: [vue-solana-docs.vercel.app/demo](https://vue-solana-docs.vercel.app/demo)
185
186
 
187
+ ## AI Agent Skill
188
+
189
+ If you use an AI coding agent, install the Vue Solana Agent Skill for plugin setup, composable imports, wallet flow guidance, transaction gotchas, and verification commands:
190
+
191
+ ```sh
192
+ npx skills add vue-solana/vue-solana --skill vue-solana
193
+ ```
194
+
195
+ Docs: [Vue Solana Agent Skill](https://vue-solana-docs.vercel.app/agent-skill)
196
+
186
197
  ## API
187
198
 
188
199
  - `createSolanaPlugin(options?)`: installs the Vue Solana context.
package/dist/index.cjs CHANGED
@@ -1,16 +1,17 @@
1
1
  'use strict';
2
2
 
3
- const useBalance = require('./shared/vue.CNkyBND6.cjs');
3
+ const useBalance = require('./shared/vue.DONKZzIb.cjs');
4
4
  const useConnection = require('./shared/vue.CwhEmATP.cjs');
5
5
  const useRpc = require('./shared/vue.COyyrsQU.cjs');
6
- const useSignAndSendTransaction = require('./shared/vue.CTM6XQ47.cjs');
6
+ const useSignAndSendTransaction = require('./shared/vue.BwrQMPty.cjs');
7
7
  const useSolana = require('./shared/vue.C4tLiG3R.cjs');
8
- const useTransaction = require('./shared/vue.BSVxQ9Yi.cjs');
8
+ const useTransaction = require('./shared/vue.CNhelr8H.cjs');
9
9
  const useWallet = require('./shared/vue.CwPjPFN6.cjs');
10
10
  const useWallets = require('./shared/vue.P9tgeC5S.cjs');
11
11
  const walletStandard = require('@vue-solana/core/wallet-standard');
12
12
  const rpc = require('@vue-solana/core/rpc');
13
13
  const vue = require('vue');
14
+ require('@solana/web3-compat');
14
15
  require('@vue-solana/core/transaction');
15
16
 
16
17
  const RPC_CHECK_TIMEOUT_MS = 1e4;
@@ -109,6 +110,8 @@ function createSolanaPlugin(options = {}) {
109
110
  onChange: () => vue.triggerRef(wallet)
110
111
  });
111
112
  const cachedAdapter = {
113
+ platform: walletInfo.platform,
114
+ source: walletInfo.source,
112
115
  get publicKey() {
113
116
  return adaptedWallet.publicKey;
114
117
  },
package/dist/index.d.cts CHANGED
@@ -3,7 +3,7 @@ export { useConnection } from './useConnection.cjs';
3
3
  export { useRpc } from './useRpc.cjs';
4
4
  export { useSignAndSendTransaction } from './useSignAndSendTransaction.cjs';
5
5
  export { tryUseSolana, useSolana } from './useSolana.cjs';
6
- export { useTransaction } from './useTransaction.cjs';
6
+ export { UseTransactionOptions, useTransaction } from './useTransaction.cjs';
7
7
  export { useWallet } from './useWallet.cjs';
8
8
  export { useWallets } from './useWallets.cjs';
9
9
  export { S as SolanaConnectionStatus, V as VueSolanaContext, s as solanaInjectionKey } from './shared/vue.DGhodYJh.cjs';
package/dist/index.d.mts CHANGED
@@ -3,7 +3,7 @@ export { useConnection } from './useConnection.mjs';
3
3
  export { useRpc } from './useRpc.mjs';
4
4
  export { useSignAndSendTransaction } from './useSignAndSendTransaction.mjs';
5
5
  export { tryUseSolana, useSolana } from './useSolana.mjs';
6
- export { useTransaction } from './useTransaction.mjs';
6
+ export { UseTransactionOptions, useTransaction } from './useTransaction.mjs';
7
7
  export { useWallet } from './useWallet.mjs';
8
8
  export { useWallets } from './useWallets.mjs';
9
9
  export { S as SolanaConnectionStatus, V as VueSolanaContext, s as solanaInjectionKey } from './shared/vue.DGhodYJh.mjs';
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ export { useConnection } from './useConnection.js';
3
3
  export { useRpc } from './useRpc.js';
4
4
  export { useSignAndSendTransaction } from './useSignAndSendTransaction.js';
5
5
  export { tryUseSolana, useSolana } from './useSolana.js';
6
- export { useTransaction } from './useTransaction.js';
6
+ export { UseTransactionOptions, useTransaction } from './useTransaction.js';
7
7
  export { useWallet } from './useWallet.js';
8
8
  export { useWallets } from './useWallets.js';
9
9
  export { S as SolanaConnectionStatus, V as VueSolanaContext, s as solanaInjectionKey } from './shared/vue.DGhodYJh.js';
package/dist/index.mjs CHANGED
@@ -1,15 +1,16 @@
1
- export { u as useBalance } from './shared/vue.CgR3nGpz.mjs';
1
+ export { u as useBalance } from './shared/vue.DJqRk8z_.mjs';
2
2
  export { u as useConnection } from './shared/vue.DlEAL2G8.mjs';
3
3
  export { u as useRpc } from './shared/vue.BqDzSepb.mjs';
4
- export { u as useSignAndSendTransaction } from './shared/vue.PoQ8Vpmy.mjs';
4
+ export { u as useSignAndSendTransaction } from './shared/vue.BfF-kOvb.mjs';
5
5
  import { s as solanaInjectionKey } from './shared/vue.1M_c5FWA.mjs';
6
6
  export { t as tryUseSolana, u as useSolana } from './shared/vue.1M_c5FWA.mjs';
7
- export { u as useTransaction } from './shared/vue.BMUEDN2t.mjs';
7
+ export { u as useTransaction } from './shared/vue.CuhLIeDx.mjs';
8
8
  export { u as useWallet } from './shared/vue.DYf_CRDv.mjs';
9
9
  export { u as useWallets } from './shared/vue.h-uS8MXN.mjs';
10
10
  import { subscribeSolanaWallets, getRegisteredSolanaWallets, adaptSolanaStandardWallet, getSolanaChain } from '@vue-solana/core/wallet-standard';
11
11
  import { createSolanaContext } from '@vue-solana/core/rpc';
12
12
  import { shallowRef, ref, triggerRef } from 'vue';
13
+ import '@solana/web3-compat';
13
14
  import '@vue-solana/core/transaction';
14
15
 
15
16
  const RPC_CHECK_TIMEOUT_MS = 1e4;
@@ -108,6 +109,8 @@ function createSolanaPlugin(options = {}) {
108
109
  onChange: () => triggerRef(wallet)
109
110
  });
110
111
  const cachedAdapter = {
112
+ platform: walletInfo.platform,
113
+ source: walletInfo.source,
111
114
  get publicKey() {
112
115
  return adaptedWallet.publicKey;
113
116
  },
@@ -0,0 +1,24 @@
1
+ import { signAndSendTransaction } from '@vue-solana/core/transaction';
2
+ import { u as useConnection } from './vue.DlEAL2G8.mjs';
3
+ import { u as useWallet } from './vue.DYf_CRDv.mjs';
4
+ import { u as useTransaction } from './vue.CuhLIeDx.mjs';
5
+
6
+ const SIGN_AND_SEND_TIMEOUT_MS = 12e4;
7
+ function useSignAndSendTransaction() {
8
+ const connection = useConnection();
9
+ const { wallet } = useWallet();
10
+ return useTransaction(
11
+ (transaction, options) => {
12
+ if (!wallet.value) {
13
+ return Promise.reject(new Error("No Solana wallet is configured"));
14
+ }
15
+ return signAndSendTransaction(connection, wallet.value, transaction, options);
16
+ },
17
+ {
18
+ timeoutMs: SIGN_AND_SEND_TIMEOUT_MS,
19
+ timeoutMessage: "Wallet transaction did not return a result. Check your wallet or explorer for the final status."
20
+ }
21
+ );
22
+ }
23
+
24
+ export { useSignAndSendTransaction as u };
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ const transaction = require('@vue-solana/core/transaction');
4
+ const useConnection = require('./vue.CwhEmATP.cjs');
5
+ const useWallet = require('./vue.CwPjPFN6.cjs');
6
+ const useTransaction = require('./vue.CNhelr8H.cjs');
7
+
8
+ const SIGN_AND_SEND_TIMEOUT_MS = 12e4;
9
+ function useSignAndSendTransaction() {
10
+ const connection = useConnection.useConnection();
11
+ const { wallet } = useWallet.useWallet();
12
+ return useTransaction.useTransaction(
13
+ (transaction$1, options) => {
14
+ if (!wallet.value) {
15
+ return Promise.reject(new Error("No Solana wallet is configured"));
16
+ }
17
+ return transaction.signAndSendTransaction(connection, wallet.value, transaction$1, options);
18
+ },
19
+ {
20
+ timeoutMs: SIGN_AND_SEND_TIMEOUT_MS,
21
+ timeoutMessage: "Wallet transaction did not return a result. Check your wallet or explorer for the final status."
22
+ }
23
+ );
24
+ }
25
+
26
+ exports.useSignAndSendTransaction = useSignAndSendTransaction;
@@ -0,0 +1,59 @@
1
+ 'use strict';
2
+
3
+ const vue = require('vue');
4
+
5
+ function useTransaction(handler, options = {}) {
6
+ const signature = vue.ref(null);
7
+ const loading = vue.ref(false);
8
+ const error = vue.ref(null);
9
+ let executionId = 0;
10
+ async function execute(...args) {
11
+ const currentExecutionId = ++executionId;
12
+ loading.value = true;
13
+ error.value = null;
14
+ try {
15
+ const nextSignature = await withTimeout(
16
+ handler(...args),
17
+ options.timeoutMs,
18
+ options.timeoutMessage ?? "Transaction did not return a result before timing out."
19
+ );
20
+ if (currentExecutionId === executionId) {
21
+ signature.value = nextSignature;
22
+ }
23
+ return nextSignature;
24
+ } catch (cause) {
25
+ if (currentExecutionId === executionId) {
26
+ error.value = cause;
27
+ }
28
+ throw cause;
29
+ } finally {
30
+ if (currentExecutionId === executionId) {
31
+ loading.value = false;
32
+ }
33
+ }
34
+ }
35
+ return {
36
+ signature,
37
+ loading,
38
+ error,
39
+ execute
40
+ };
41
+ }
42
+ function withTimeout(promise, timeoutMs, message) {
43
+ if (!timeoutMs) {
44
+ return promise;
45
+ }
46
+ let timeoutId;
47
+ const timeout = new Promise((_, reject) => {
48
+ timeoutId = setTimeout(() => {
49
+ reject(new Error(message));
50
+ }, timeoutMs);
51
+ });
52
+ return Promise.race([promise, timeout]).finally(() => {
53
+ if (timeoutId) {
54
+ clearTimeout(timeoutId);
55
+ }
56
+ });
57
+ }
58
+
59
+ exports.useTransaction = useTransaction;
@@ -0,0 +1,57 @@
1
+ import { ref } from 'vue';
2
+
3
+ function useTransaction(handler, options = {}) {
4
+ const signature = ref(null);
5
+ const loading = ref(false);
6
+ const error = ref(null);
7
+ let executionId = 0;
8
+ async function execute(...args) {
9
+ const currentExecutionId = ++executionId;
10
+ loading.value = true;
11
+ error.value = null;
12
+ try {
13
+ const nextSignature = await withTimeout(
14
+ handler(...args),
15
+ options.timeoutMs,
16
+ options.timeoutMessage ?? "Transaction did not return a result before timing out."
17
+ );
18
+ if (currentExecutionId === executionId) {
19
+ signature.value = nextSignature;
20
+ }
21
+ return nextSignature;
22
+ } catch (cause) {
23
+ if (currentExecutionId === executionId) {
24
+ error.value = cause;
25
+ }
26
+ throw cause;
27
+ } finally {
28
+ if (currentExecutionId === executionId) {
29
+ loading.value = false;
30
+ }
31
+ }
32
+ }
33
+ return {
34
+ signature,
35
+ loading,
36
+ error,
37
+ execute
38
+ };
39
+ }
40
+ function withTimeout(promise, timeoutMs, message) {
41
+ if (!timeoutMs) {
42
+ return promise;
43
+ }
44
+ let timeoutId;
45
+ const timeout = new Promise((_, reject) => {
46
+ timeoutId = setTimeout(() => {
47
+ reject(new Error(message));
48
+ }, timeoutMs);
49
+ });
50
+ return Promise.race([promise, timeout]).finally(() => {
51
+ if (timeoutId) {
52
+ clearTimeout(timeoutId);
53
+ }
54
+ });
55
+ }
56
+
57
+ export { useTransaction as u };
@@ -1,3 +1,4 @@
1
+ import { PublicKey } from '@solana/web3-compat';
1
2
  import { ref, onMounted, watch, toValue } from 'vue';
2
3
  import { u as useConnection } from './vue.DlEAL2G8.mjs';
3
4
  import { t as tryUseSolana } from './vue.1M_c5FWA.mjs';
@@ -17,7 +18,7 @@ function useBalance(address, commitment) {
17
18
  loading.value = true;
18
19
  error.value = null;
19
20
  try {
20
- const publicKey = typeof value === "string" ? new (await import('@solana/web3-compat')).PublicKey(value) : value;
21
+ const publicKey = typeof value === "string" ? new PublicKey(value) : value;
21
22
  balance.value = await connection.getBalance(publicKey, commitment);
22
23
  return balance.value;
23
24
  } catch (cause) {
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ const web3Compat = require('@solana/web3-compat');
3
4
  const vue = require('vue');
4
5
  const useConnection = require('./vue.CwhEmATP.cjs');
5
6
  const useSolana = require('./vue.C4tLiG3R.cjs');
@@ -19,7 +20,7 @@ function useBalance(address, commitment) {
19
20
  loading.value = true;
20
21
  error.value = null;
21
22
  try {
22
- const publicKey = typeof value === "string" ? new (await import('@solana/web3-compat')).PublicKey(value) : value;
23
+ const publicKey = typeof value === "string" ? new web3Compat.PublicKey(value) : value;
23
24
  balance.value = await connection.getBalance(publicKey, commitment);
24
25
  return balance.value;
25
26
  } catch (cause) {
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
- const useBalance = require('./shared/vue.CNkyBND6.cjs');
3
+ const useBalance = require('./shared/vue.DONKZzIb.cjs');
4
+ require('@solana/web3-compat');
4
5
  require('vue');
5
6
  require('./shared/vue.CwhEmATP.cjs');
6
7
  require('./shared/vue.COyyrsQU.cjs');
@@ -1,4 +1,5 @@
1
- export { u as useBalance } from './shared/vue.CgR3nGpz.mjs';
1
+ export { u as useBalance } from './shared/vue.DJqRk8z_.mjs';
2
+ import '@solana/web3-compat';
2
3
  import 'vue';
3
4
  import './shared/vue.DlEAL2G8.mjs';
4
5
  import './shared/vue.BqDzSepb.mjs';
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
- const useSignAndSendTransaction = require('./shared/vue.CTM6XQ47.cjs');
3
+ const useSignAndSendTransaction = require('./shared/vue.BwrQMPty.cjs');
4
4
  require('@vue-solana/core/transaction');
5
5
  require('./shared/vue.CwhEmATP.cjs');
6
6
  require('./shared/vue.COyyrsQU.cjs');
7
7
  require('vue');
8
8
  require('./shared/vue.C4tLiG3R.cjs');
9
9
  require('./shared/vue.CwPjPFN6.cjs');
10
- require('./shared/vue.BSVxQ9Yi.cjs');
10
+ require('./shared/vue.CNhelr8H.cjs');
11
11
 
12
12
 
13
13
 
@@ -5,7 +5,7 @@ declare function useSignAndSendTransaction(): {
5
5
  signature: any;
6
6
  loading: vue.Ref<boolean, boolean>;
7
7
  error: vue.Ref<unknown, unknown>;
8
- execute: (transaction: any, options?: SendTransactionOptions | undefined) => Promise<any>;
8
+ execute: (transaction: any, options?: SendTransactionOptions | undefined) => Promise<TransactionSignature>;
9
9
  };
10
10
 
11
11
  export { useSignAndSendTransaction };
@@ -5,7 +5,7 @@ declare function useSignAndSendTransaction(): {
5
5
  signature: any;
6
6
  loading: vue.Ref<boolean, boolean>;
7
7
  error: vue.Ref<unknown, unknown>;
8
- execute: (transaction: any, options?: SendTransactionOptions | undefined) => Promise<any>;
8
+ execute: (transaction: any, options?: SendTransactionOptions | undefined) => Promise<TransactionSignature>;
9
9
  };
10
10
 
11
11
  export { useSignAndSendTransaction };
@@ -5,7 +5,7 @@ declare function useSignAndSendTransaction(): {
5
5
  signature: any;
6
6
  loading: vue.Ref<boolean, boolean>;
7
7
  error: vue.Ref<unknown, unknown>;
8
- execute: (transaction: any, options?: SendTransactionOptions | undefined) => Promise<any>;
8
+ execute: (transaction: any, options?: SendTransactionOptions | undefined) => Promise<TransactionSignature>;
9
9
  };
10
10
 
11
11
  export { useSignAndSendTransaction };
@@ -1,8 +1,8 @@
1
- export { u as useSignAndSendTransaction } from './shared/vue.PoQ8Vpmy.mjs';
1
+ export { u as useSignAndSendTransaction } from './shared/vue.BfF-kOvb.mjs';
2
2
  import '@vue-solana/core/transaction';
3
3
  import './shared/vue.DlEAL2G8.mjs';
4
4
  import './shared/vue.BqDzSepb.mjs';
5
5
  import 'vue';
6
6
  import './shared/vue.1M_c5FWA.mjs';
7
7
  import './shared/vue.DYf_CRDv.mjs';
8
- import './shared/vue.BMUEDN2t.mjs';
8
+ import './shared/vue.CuhLIeDx.mjs';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const useTransaction = require('./shared/vue.BSVxQ9Yi.cjs');
3
+ const useTransaction = require('./shared/vue.CNhelr8H.cjs');
4
4
  require('vue');
5
5
 
6
6
 
@@ -1,11 +1,16 @@
1
1
  import * as vue from 'vue';
2
2
  import { TransactionSignature } from '@solana/web3-compat';
3
3
 
4
- declare function useTransaction<TArgs extends unknown[]>(handler: (...args: TArgs) => Promise<TransactionSignature>): {
4
+ interface UseTransactionOptions {
5
+ timeoutMs?: number;
6
+ timeoutMessage?: string;
7
+ }
8
+ declare function useTransaction<TArgs extends unknown[]>(handler: (...args: TArgs) => Promise<TransactionSignature>, options?: UseTransactionOptions): {
5
9
  signature: any;
6
10
  loading: vue.Ref<boolean, boolean>;
7
11
  error: vue.Ref<unknown, unknown>;
8
- execute: (...args: TArgs) => Promise<any>;
12
+ execute: (...args: TArgs) => Promise<TransactionSignature>;
9
13
  };
10
14
 
11
15
  export { useTransaction };
16
+ export type { UseTransactionOptions };
@@ -1,11 +1,16 @@
1
1
  import * as vue from 'vue';
2
2
  import { TransactionSignature } from '@solana/web3-compat';
3
3
 
4
- declare function useTransaction<TArgs extends unknown[]>(handler: (...args: TArgs) => Promise<TransactionSignature>): {
4
+ interface UseTransactionOptions {
5
+ timeoutMs?: number;
6
+ timeoutMessage?: string;
7
+ }
8
+ declare function useTransaction<TArgs extends unknown[]>(handler: (...args: TArgs) => Promise<TransactionSignature>, options?: UseTransactionOptions): {
5
9
  signature: any;
6
10
  loading: vue.Ref<boolean, boolean>;
7
11
  error: vue.Ref<unknown, unknown>;
8
- execute: (...args: TArgs) => Promise<any>;
12
+ execute: (...args: TArgs) => Promise<TransactionSignature>;
9
13
  };
10
14
 
11
15
  export { useTransaction };
16
+ export type { UseTransactionOptions };
@@ -1,11 +1,16 @@
1
1
  import * as vue from 'vue';
2
2
  import { TransactionSignature } from '@solana/web3-compat';
3
3
 
4
- declare function useTransaction<TArgs extends unknown[]>(handler: (...args: TArgs) => Promise<TransactionSignature>): {
4
+ interface UseTransactionOptions {
5
+ timeoutMs?: number;
6
+ timeoutMessage?: string;
7
+ }
8
+ declare function useTransaction<TArgs extends unknown[]>(handler: (...args: TArgs) => Promise<TransactionSignature>, options?: UseTransactionOptions): {
5
9
  signature: any;
6
10
  loading: vue.Ref<boolean, boolean>;
7
11
  error: vue.Ref<unknown, unknown>;
8
- execute: (...args: TArgs) => Promise<any>;
12
+ execute: (...args: TArgs) => Promise<TransactionSignature>;
9
13
  };
10
14
 
11
15
  export { useTransaction };
16
+ export type { UseTransactionOptions };
@@ -1,2 +1,2 @@
1
- export { u as useTransaction } from './shared/vue.BMUEDN2t.mjs';
1
+ export { u as useTransaction } from './shared/vue.CuhLIeDx.mjs';
2
2
  import 'vue';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue-solana/vue",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "Vue plugin and composables for Solana applications.",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -78,7 +78,7 @@
78
78
  "access": "public"
79
79
  },
80
80
  "dependencies": {
81
- "@vue-solana/core": "0.3.1"
81
+ "@vue-solana/core": "0.3.3"
82
82
  },
83
83
  "peerDependencies": {
84
84
  "@solana/web3-compat": "^0.0.21",
@@ -1,28 +0,0 @@
1
- import { ref } from 'vue';
2
-
3
- function useTransaction(handler) {
4
- const signature = ref(null);
5
- const loading = ref(false);
6
- const error = ref(null);
7
- async function execute(...args) {
8
- loading.value = true;
9
- error.value = null;
10
- try {
11
- signature.value = await handler(...args);
12
- return signature.value;
13
- } catch (cause) {
14
- error.value = cause;
15
- throw cause;
16
- } finally {
17
- loading.value = false;
18
- }
19
- }
20
- return {
21
- signature,
22
- loading,
23
- error,
24
- execute
25
- };
26
- }
27
-
28
- export { useTransaction as u };
@@ -1,30 +0,0 @@
1
- 'use strict';
2
-
3
- const vue = require('vue');
4
-
5
- function useTransaction(handler) {
6
- const signature = vue.ref(null);
7
- const loading = vue.ref(false);
8
- const error = vue.ref(null);
9
- async function execute(...args) {
10
- loading.value = true;
11
- error.value = null;
12
- try {
13
- signature.value = await handler(...args);
14
- return signature.value;
15
- } catch (cause) {
16
- error.value = cause;
17
- throw cause;
18
- } finally {
19
- loading.value = false;
20
- }
21
- }
22
- return {
23
- signature,
24
- loading,
25
- error,
26
- execute
27
- };
28
- }
29
-
30
- exports.useTransaction = useTransaction;
@@ -1,19 +0,0 @@
1
- 'use strict';
2
-
3
- const transaction = require('@vue-solana/core/transaction');
4
- const useConnection = require('./vue.CwhEmATP.cjs');
5
- const useWallet = require('./vue.CwPjPFN6.cjs');
6
- const useTransaction = require('./vue.BSVxQ9Yi.cjs');
7
-
8
- function useSignAndSendTransaction() {
9
- const connection = useConnection.useConnection();
10
- const { wallet } = useWallet.useWallet();
11
- return useTransaction.useTransaction((transaction$1, options) => {
12
- if (!wallet.value) {
13
- return Promise.reject(new Error("No Solana wallet is configured"));
14
- }
15
- return transaction.signAndSendTransaction(connection, wallet.value, transaction$1, options);
16
- });
17
- }
18
-
19
- exports.useSignAndSendTransaction = useSignAndSendTransaction;
@@ -1,17 +0,0 @@
1
- import { signAndSendTransaction } from '@vue-solana/core/transaction';
2
- import { u as useConnection } from './vue.DlEAL2G8.mjs';
3
- import { u as useWallet } from './vue.DYf_CRDv.mjs';
4
- import { u as useTransaction } from './vue.BMUEDN2t.mjs';
5
-
6
- function useSignAndSendTransaction() {
7
- const connection = useConnection();
8
- const { wallet } = useWallet();
9
- return useTransaction((transaction, options) => {
10
- if (!wallet.value) {
11
- return Promise.reject(new Error("No Solana wallet is configured"));
12
- }
13
- return signAndSendTransaction(connection, wallet.value, transaction, options);
14
- });
15
- }
16
-
17
- export { useSignAndSendTransaction as u };