@vue-solana/vue 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -169,7 +169,7 @@ await execute(transaction, {
169
169
  });
170
170
  ```
171
171
 
172
- The current wallet must be connected and support either `signAndSendTransaction` or `signTransaction`.
172
+ 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
173
 
174
174
  ## Example App
175
175
 
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.2",
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.2"
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 };