@vue-solana/vue 1.2.0 → 2.0.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.
Files changed (120) hide show
  1. package/README.md +9 -8
  2. package/dist/buffer-polyfill.d.cts +0 -1
  3. package/dist/buffer-polyfill.d.mts +0 -1
  4. package/dist/buffer-polyfill.d.ts +0 -1
  5. package/dist/index.cjs +19 -17
  6. package/dist/index.d.cts +4 -8
  7. package/dist/index.d.mts +4 -8
  8. package/dist/index.d.ts +4 -8
  9. package/dist/index.mjs +20 -18
  10. package/dist/kit.d.cts +1 -1
  11. package/dist/kit.d.mts +1 -1
  12. package/dist/kit.d.ts +1 -1
  13. package/dist/shared/{vue.BtUKvuQw.mjs → vue.3VLZmw05.mjs} +2 -2
  14. package/dist/shared/{vue.QHAHFnw8.mjs → vue.B2sFJ1xI.mjs} +3 -3
  15. package/dist/shared/{vue.BEesxsrA.cjs → vue.BAlo-tIh.cjs} +3 -3
  16. package/dist/shared/vue.BMencBpI.cjs +82 -0
  17. package/dist/shared/{vue.BbX3ePDY.cjs → vue.B_LRH8SM.cjs} +9 -10
  18. package/dist/shared/{vue.By1CUlOU.mjs → vue.BaFrF2PF.mjs} +1 -1
  19. package/dist/shared/{vue.BE4KHksm.cjs → vue.BaR1VPhl.cjs} +0 -1
  20. package/dist/shared/{vue.CPjEwHSg.mjs → vue.BbMPRDeO.mjs} +20 -8
  21. package/dist/shared/vue.Bfu1dCKe.mjs +10 -0
  22. package/dist/shared/{vue.ByUemLSf.cjs → vue.C32ozdA1.cjs} +3 -3
  23. package/dist/shared/{vue.B14U1xmP.cjs → vue.C7yR7Cs0.cjs} +20 -8
  24. package/dist/shared/{vue.BsD6AAmO.cjs → vue.CEn2purG.cjs} +8 -8
  25. package/dist/shared/{vue.C0uCLjJ6.cjs → vue.CP1DPDX9.cjs} +1 -1
  26. package/dist/shared/{vue.DzKfcfpX.cjs → vue.CSJSK0Nq.cjs} +6 -6
  27. package/dist/shared/{vue.j1vB3h1n.cjs → vue.CXHYdyKZ.cjs} +9 -9
  28. package/dist/shared/{vue.CSzg70vB.mjs → vue.CZO8TwJP.mjs} +1 -1
  29. package/dist/shared/vue.CZwftA0L.cjs +9 -0
  30. package/dist/shared/vue.ChujsB0B.mjs +7 -0
  31. package/dist/shared/{vue.CYKT65tB.mjs → vue.CnUlZSe8.mjs} +0 -1
  32. package/dist/shared/{vue.DFbay4mm.mjs → vue.D7xFeC2m.mjs} +1 -1
  33. package/dist/shared/{vue.B12Pt1PQ.mjs → vue.DL-yMCNc.mjs} +18 -74
  34. package/dist/shared/vue.DNxOpDXz.cjs +12 -0
  35. package/dist/shared/{vue.D0ycWj82.mjs → vue.DP7qY8Rk.mjs} +9 -9
  36. package/dist/shared/{vue.G9t8pE0J.cjs → vue.DgCmU1RR.cjs} +1 -1
  37. package/dist/shared/{vue.B2AQR2bE.mjs → vue.PJjEncbP.mjs} +3 -3
  38. package/dist/shared/{vue.CM_uqVc0.mjs → vue.WugzPOca.mjs} +6 -6
  39. package/dist/shared/{vue.Bhdhmz8d.cjs → vue.XQFqlMId.cjs} +18 -74
  40. package/dist/shared/{vue.LNhX07HB.cjs → vue.__r7YYZE.cjs} +2 -2
  41. package/dist/shared/vue.dPRo2X5y.mjs +80 -0
  42. package/dist/shared/{vue.COPnX5fq.cjs → vue.k9Q6aN-0.cjs} +1 -1
  43. package/dist/shared/{vue.DDxhSi72.mjs → vue.stUBDBI9.mjs} +9 -9
  44. package/dist/shared/{vue.CKTUFwSI.mjs → vue.yQcL1yMv.mjs} +9 -10
  45. package/dist/useAccountInfo.cjs +6 -5
  46. package/dist/useAccountInfo.d.cts +12 -8
  47. package/dist/useAccountInfo.d.mts +12 -8
  48. package/dist/useAccountInfo.d.ts +12 -8
  49. package/dist/useAccountInfo.mjs +6 -5
  50. package/dist/useBalance.cjs +4 -4
  51. package/dist/useBalance.d.cts +4 -2
  52. package/dist/useBalance.d.mts +4 -2
  53. package/dist/useBalance.d.ts +4 -2
  54. package/dist/useBalance.mjs +4 -4
  55. package/dist/useConnection.cjs +3 -3
  56. package/dist/useConnection.d.cts +9 -2
  57. package/dist/useConnection.d.mts +9 -2
  58. package/dist/useConnection.d.ts +9 -2
  59. package/dist/useConnection.mjs +3 -3
  60. package/dist/useProgramAccounts.cjs +6 -5
  61. package/dist/useProgramAccounts.d.cts +24 -9
  62. package/dist/useProgramAccounts.d.mts +24 -9
  63. package/dist/useProgramAccounts.d.ts +24 -9
  64. package/dist/useProgramAccounts.mjs +6 -5
  65. package/dist/useRpc.cjs +2 -2
  66. package/dist/useRpc.d.cts +5 -2
  67. package/dist/useRpc.d.mts +5 -2
  68. package/dist/useRpc.d.ts +5 -2
  69. package/dist/useRpc.mjs +2 -2
  70. package/dist/useSignAndSendTransaction.cjs +6 -6
  71. package/dist/useSignAndSendTransaction.d.cts +18 -24
  72. package/dist/useSignAndSendTransaction.d.mts +18 -24
  73. package/dist/useSignAndSendTransaction.d.ts +18 -24
  74. package/dist/useSignAndSendTransaction.mjs +6 -6
  75. package/dist/useSignMessage.cjs +3 -3
  76. package/dist/useSignMessage.mjs +3 -3
  77. package/dist/useSignatureStatus.cjs +4 -4
  78. package/dist/useSignatureStatus.d.cts +9 -5
  79. package/dist/useSignatureStatus.d.mts +9 -5
  80. package/dist/useSignatureStatus.d.ts +9 -5
  81. package/dist/useSignatureStatus.mjs +4 -4
  82. package/dist/useSolana.cjs +1 -1
  83. package/dist/useSolana.mjs +1 -1
  84. package/dist/useSolanaClient.cjs +2 -2
  85. package/dist/useSolanaClient.mjs +2 -2
  86. package/dist/useTokenAccounts.cjs +6 -6
  87. package/dist/useTokenAccounts.d.cts +6 -6
  88. package/dist/useTokenAccounts.d.mts +6 -6
  89. package/dist/useTokenAccounts.d.ts +6 -6
  90. package/dist/useTokenAccounts.mjs +6 -6
  91. package/dist/useTokenBalance.cjs +6 -6
  92. package/dist/useTokenBalance.d.cts +2 -2
  93. package/dist/useTokenBalance.d.mts +2 -2
  94. package/dist/useTokenBalance.d.ts +2 -2
  95. package/dist/useTokenBalance.mjs +6 -6
  96. package/dist/useTransaction.d.cts +1 -2
  97. package/dist/useTransaction.d.mts +1 -2
  98. package/dist/useTransaction.d.ts +1 -2
  99. package/dist/useTransactionConfirmation.cjs +4 -4
  100. package/dist/useTransactionConfirmation.d.cts +18 -24
  101. package/dist/useTransactionConfirmation.d.mts +18 -24
  102. package/dist/useTransactionConfirmation.d.ts +18 -24
  103. package/dist/useTransactionConfirmation.mjs +4 -4
  104. package/dist/useWallet.cjs +2 -2
  105. package/dist/useWallet.d.cts +2 -2
  106. package/dist/useWallet.d.mts +2 -2
  107. package/dist/useWallet.d.ts +2 -2
  108. package/dist/useWallet.mjs +2 -2
  109. package/dist/useWallets.cjs +2 -2
  110. package/dist/useWallets.mjs +2 -2
  111. package/package.json +2 -8
  112. package/dist/shared/vue.CfrVAzEf.mjs +0 -129
  113. package/dist/shared/vue.DCgByzxg.cjs +0 -9
  114. package/dist/shared/vue.DiNn3XHm.mjs +0 -7
  115. package/dist/shared/vue._CAClzAz.cjs +0 -131
  116. package/dist/web3.cjs +0 -13
  117. package/dist/web3.d.cts +0 -1
  118. package/dist/web3.d.mts +0 -1
  119. package/dist/web3.d.ts +0 -1
  120. package/dist/web3.mjs +0 -1
package/README.md CHANGED
@@ -200,7 +200,7 @@ const { publicKey, connected, connecting, canSignMessage, connect, disconnect }
200
200
  </button>
201
201
  <p>Selected: {{ selectedWallet?.name ?? "None" }}</p>
202
202
  <p>Connected: {{ connected }}</p>
203
- <p>Public key: {{ publicKey?.toBase58() }}</p>
203
+ <p>Public key: {{ publicKey }}</p>
204
204
  <p>Can sign messages: {{ canSignMessage }}</p>
205
205
  <p v-if="connecting">Connecting...</p>
206
206
  <button type="button" :disabled="!selectedWallet || connected || connecting" @click="connect">
@@ -310,17 +310,18 @@ Docs: [Vue Solana Agent Skill](https://vue-solana-docs.vercel.app/agent-skill)
310
310
  | `createSolanaPlugin(options?)` | Installs the Vue Solana context. |
311
311
  | `VueSolana` | Alias for `createSolanaPlugin`. |
312
312
  | `useSolana()` | Returns the full injected Solana context. |
313
- | `useRpc()` | Returns cluster, endpoint, connection status, latest blockhash, and `checkConnection()`. |
314
- | `useConnection()` | Returns the Solana `Connection`. |
313
+ | `useRpc()` | Returns cluster, endpoint, connection status, latest blockhash, the Kit `client`, and `checkConnection()`. |
314
+ | `useSolanaClient()` | Returns the injected Kit client as `{ client, rpc }`. The recommended RPC path. |
315
+ | `useConnection()` | Returns the Kit `client`. Deprecated in favor of `useSolanaClient()`. |
315
316
  | `useWallet()` | Returns wallet refs, computed connection state, and wallet actions. |
316
317
  | `useWallets()` | Returns discovered browser extension wallets, Android MWA wallets, iOS browser wallet links, and wallet selection actions. |
317
318
  | `useSignMessage()` | Signs arbitrary message bytes through the connected wallet when message signing is supported. |
318
- | `useBalance(address, commitment?)` | Loads lamport balance for a `PublicKey` or address string. |
319
- | `useAccountInfo(address, options?)` | Loads account info and can subscribe to account changes with `watch: true`. |
319
+ | `useBalance(address, commitment?)` | Loads lamport balance for an address string. |
320
+ | `useAccountInfo(address, options?)` | Loads normalized account info (executable, lamports, owner, space, data bytes). |
320
321
  | `useProgramAccounts(programId, config?)` | Loads accounts owned by a program with optional filters, commitment, and `dataSlice`. |
321
322
  | `useTransaction(handler, options?)` | Generic async transaction state helper with optional timeout settings. |
322
323
  | `useTransactionConfirmation(options?)` | Confirms a submitted signature with reactive status and timeout/error state. |
323
- | `useSignatureStatus(signature, options?)` | Reads a transaction signature status with optional polling or websocket subscription. |
324
+ | `useSignatureStatus(signature, options?)` | Reads a transaction signature status with optional polling. |
324
325
  | `useSignAndSendTransaction()` | Signs and sends a transaction through the configured wallet, with optional confirmation waiting. |
325
326
 
326
327
  Direct composable subpaths:
@@ -341,7 +342,7 @@ Direct composable subpaths:
341
342
 
342
343
  Other direct subpaths:
343
344
 
344
- - `@vue-solana/vue/web3`
345
+ - `@vue-solana/vue/kit`
345
346
  - `@vue-solana/vue/buffer-polyfill`
346
347
 
347
348
  ## Caveats
@@ -350,7 +351,7 @@ Other direct subpaths:
350
351
  - Public Solana RPC endpoints are useful for development, but production apps should use dedicated RPC infrastructure.
351
352
  - Broad `useProgramAccounts()` scans can be expensive or blocked on public RPC nodes. Prefer narrow filters and `dataSlice`.
352
353
  - Use `mainnet-beta` for Solana mainnet. `mainnet` is intentionally not accepted as a cluster alias.
353
- - `@solana/web3-compat@0.0.21` currently has broken TypeScript package metadata. Runtime imports still use the real package, and current Vue Solana packages publish temporary declaration shims for documented imports. See [Troubleshooting](https://vue-solana-docs.vercel.app/troubleshooting) for details.
354
+ - v2.0.0 removed `@solana/web3-compat` and the `web3` subpaths. Build transaction messages with `@solana/kit` and pass raw `Uint8Array` wire bytes to wallet flows. See the [Kit Migration guide](https://vue-solana-docs.vercel.app/guides/kit-migration) for migrating from v1.
354
355
  - Desktop native app wallets are planned but not implemented yet.
355
356
 
356
357
  ## Status
@@ -1,3 +1,2 @@
1
1
  export { Buffer, installSolanaBufferPolyfill } from '@vue-solana/core/buffer-polyfill';
2
2
  import '@vue-solana/core/kit';
3
- import '@vue-solana/core/web3';
@@ -1,3 +1,2 @@
1
1
  export { Buffer, installSolanaBufferPolyfill } from '@vue-solana/core/buffer-polyfill';
2
2
  import '@vue-solana/core/kit';
3
- import '@vue-solana/core/web3';
@@ -1,3 +1,2 @@
1
1
  export { Buffer, installSolanaBufferPolyfill } from '@vue-solana/core/buffer-polyfill';
2
2
  import '@vue-solana/core/kit';
3
- import '@vue-solana/core/web3';
package/dist/index.cjs CHANGED
@@ -1,21 +1,21 @@
1
1
  'use strict';
2
2
 
3
- const useAccountInfo = require('./shared/vue._CAClzAz.cjs');
4
- const useBalance = require('./shared/vue.BsD6AAmO.cjs');
5
- const useConnection = require('./shared/vue.DCgByzxg.cjs');
6
- const useProgramAccounts = require('./shared/vue.B14U1xmP.cjs');
7
- const useRpc = require('./shared/vue.LNhX07HB.cjs');
8
- const useSignMessage = require('./shared/vue.C0uCLjJ6.cjs');
9
- const useSignAndSendTransaction = require('./shared/vue.DzKfcfpX.cjs');
10
- const useSignatureStatus = require('./shared/vue.Bhdhmz8d.cjs');
11
- const useSolana = require('./shared/vue.BE4KHksm.cjs');
12
- const useSolanaClient = require('./shared/vue.COPnX5fq.cjs');
13
- const useTokenAccounts = require('./shared/vue.BbX3ePDY.cjs');
14
- const useTokenBalance = require('./shared/vue.j1vB3h1n.cjs');
3
+ const useAccountInfo = require('./shared/vue.BMencBpI.cjs');
4
+ const useBalance = require('./shared/vue.CEn2purG.cjs');
5
+ const useConnection = require('./shared/vue.CZwftA0L.cjs');
6
+ const useProgramAccounts = require('./shared/vue.C7yR7Cs0.cjs');
7
+ const useRpc = require('./shared/vue.__r7YYZE.cjs');
8
+ const useSignMessage = require('./shared/vue.CP1DPDX9.cjs');
9
+ const useSignAndSendTransaction = require('./shared/vue.CSJSK0Nq.cjs');
10
+ const useSignatureStatus = require('./shared/vue.XQFqlMId.cjs');
11
+ const useSolana = require('./shared/vue.BaR1VPhl.cjs');
12
+ const useSolanaClient = require('./shared/vue.k9Q6aN-0.cjs');
13
+ const useTokenAccounts = require('./shared/vue.B_LRH8SM.cjs');
14
+ const useTokenBalance = require('./shared/vue.CXHYdyKZ.cjs');
15
15
  const useTransaction = require('./shared/vue.CE5i8KZZ.cjs');
16
- const useTransactionConfirmation = require('./shared/vue.ByUemLSf.cjs');
17
- const useWallet = require('./shared/vue.BEesxsrA.cjs');
18
- const useWallets = require('./shared/vue.G9t8pE0J.cjs');
16
+ const useTransactionConfirmation = require('./shared/vue.C32ozdA1.cjs');
17
+ const useWallet = require('./shared/vue.BAlo-tIh.cjs');
18
+ const useWallets = require('./shared/vue.DgCmU1RR.cjs');
19
19
  const kit = require('@vue-solana/core/kit');
20
20
  const errors = require('@vue-solana/core/errors');
21
21
  const rpc = require('@vue-solana/core/rpc');
@@ -24,6 +24,7 @@ const walletStandard = require('@vue-solana/core/wallet-standard');
24
24
  const vue = require('vue');
25
25
  const iosWallet = require('@vue-solana/core/ios-wallet');
26
26
  require('@vue-solana/core/address');
27
+ require('./shared/vue.DNxOpDXz.cjs');
27
28
  require('@vue-solana/core/wallet');
28
29
  require('@vue-solana/core/transaction');
29
30
  require('bs58');
@@ -227,13 +228,14 @@ function createSolanaPlugin(options = {}) {
227
228
  wsEndpoint: context.wsEndpoint
228
229
  });
229
230
  try {
230
- const blockhash = await timeout.withTimeout(
231
- context.connection.getLatestBlockhash(),
231
+ const response = await timeout.withTimeout(
232
+ context.client.rpc.getLatestBlockhash().send(),
232
233
  RPC_CHECK_TIMEOUT_MS,
233
234
  () => new Error(
234
235
  `RPC connection check timed out after ${RPC_CHECK_TIMEOUT_MS / 1e3} seconds.`
235
236
  )
236
237
  );
238
+ const blockhash = response.value;
237
239
  if (checkId !== rpcCheckId) {
238
240
  return;
239
241
  }
package/dist/index.d.cts CHANGED
@@ -1,11 +1,11 @@
1
- export { UseAccountInfoOptions, useAccountInfo } from './useAccountInfo.cjs';
2
- export { useBalance } from './useBalance.cjs';
1
+ export { AccountInfo, UseAccountInfoOptions, useAccountInfo } from './useAccountInfo.cjs';
2
+ export { BalanceInput, useBalance } from './useBalance.cjs';
3
3
  export { useConnection } from './useConnection.cjs';
4
4
  export { ProgramAccount, ProgramAccountDataSizeFilter, ProgramAccountDataSlice, ProgramAccountFilter, ProgramAccountMemcmpEncoding, ProgramAccountMemcmpFilter, UseProgramAccountsOptions, useProgramAccounts } from './useProgramAccounts.cjs';
5
5
  export { useRpc } from './useRpc.cjs';
6
6
  export { SignMessageStatus, useSignMessage } from './useSignMessage.cjs';
7
7
  export { SignAndSendTransactionOptions, SignAndSendTransactionStatus, useSignAndSendTransaction } from './useSignAndSendTransaction.cjs';
8
- export { UseSignatureStatusOptions, useSignatureStatus } from './useSignatureStatus.cjs';
8
+ export { SignatureStatus, UseSignatureStatusOptions, useSignatureStatus } from './useSignatureStatus.cjs';
9
9
  export { tryUseSolana, useSolana } from './useSolana.cjs';
10
10
  export { useSolanaClient } from './useSolanaClient.cjs';
11
11
  export { UseTokenAccountsOptions, useTokenAccounts } from './useTokenAccounts.cjs';
@@ -15,17 +15,13 @@ export { TransactionConfirmationStatus, getConfirmedTransactionStatus, useTransa
15
15
  export { useWallet } from './useWallet.cjs';
16
16
  export { useWallets } from './useWallets.cjs';
17
17
  export { S as SolanaConnectionStatus, V as VueSolanaContext, s as solanaInjectionKey } from './shared/vue.DL3z5PxP.cjs';
18
- export { Address, Lamports, Rpc, SolanaClient, SolanaRpcApi, address, createSolanaClient, lamports } from '@vue-solana/core/kit';
18
+ export { Address, Commitment, Lamports, Rpc, Signature, SolanaClient, SolanaRpcApi, address, createSolanaClient, lamports } from '@vue-solana/core/kit';
19
19
  import { GetSolanaIosWalletsOptions } from '@vue-solana/core/ios-wallet';
20
20
  import { RegisterSolanaMobileWalletOptions } from '@vue-solana/core/mobile-wallet';
21
21
  import { SolanaConfig, SolanaWallet } from '@vue-solana/core/types';
22
22
  import { App } from 'vue';
23
- import '@vue-solana/core/address';
24
23
  import '@vue-solana/core/errors';
25
- import '@vue-solana/core/web3';
26
- import '@solana/web3-compat';
27
24
  import '@solana/kit';
28
- import '@vue-solana/core/spl-token';
29
25
  import '@vue-solana/core/token-accounts';
30
26
 
31
27
  interface VueSolanaPluginOptions extends SolanaConfig {
package/dist/index.d.mts CHANGED
@@ -1,11 +1,11 @@
1
- export { UseAccountInfoOptions, useAccountInfo } from './useAccountInfo.mjs';
2
- export { useBalance } from './useBalance.mjs';
1
+ export { AccountInfo, UseAccountInfoOptions, useAccountInfo } from './useAccountInfo.mjs';
2
+ export { BalanceInput, useBalance } from './useBalance.mjs';
3
3
  export { useConnection } from './useConnection.mjs';
4
4
  export { ProgramAccount, ProgramAccountDataSizeFilter, ProgramAccountDataSlice, ProgramAccountFilter, ProgramAccountMemcmpEncoding, ProgramAccountMemcmpFilter, UseProgramAccountsOptions, useProgramAccounts } from './useProgramAccounts.mjs';
5
5
  export { useRpc } from './useRpc.mjs';
6
6
  export { SignMessageStatus, useSignMessage } from './useSignMessage.mjs';
7
7
  export { SignAndSendTransactionOptions, SignAndSendTransactionStatus, useSignAndSendTransaction } from './useSignAndSendTransaction.mjs';
8
- export { UseSignatureStatusOptions, useSignatureStatus } from './useSignatureStatus.mjs';
8
+ export { SignatureStatus, UseSignatureStatusOptions, useSignatureStatus } from './useSignatureStatus.mjs';
9
9
  export { tryUseSolana, useSolana } from './useSolana.mjs';
10
10
  export { useSolanaClient } from './useSolanaClient.mjs';
11
11
  export { UseTokenAccountsOptions, useTokenAccounts } from './useTokenAccounts.mjs';
@@ -15,17 +15,13 @@ export { TransactionConfirmationStatus, getConfirmedTransactionStatus, useTransa
15
15
  export { useWallet } from './useWallet.mjs';
16
16
  export { useWallets } from './useWallets.mjs';
17
17
  export { S as SolanaConnectionStatus, V as VueSolanaContext, s as solanaInjectionKey } from './shared/vue.DL3z5PxP.mjs';
18
- export { Address, Lamports, Rpc, SolanaClient, SolanaRpcApi, address, createSolanaClient, lamports } from '@vue-solana/core/kit';
18
+ export { Address, Commitment, Lamports, Rpc, Signature, SolanaClient, SolanaRpcApi, address, createSolanaClient, lamports } from '@vue-solana/core/kit';
19
19
  import { GetSolanaIosWalletsOptions } from '@vue-solana/core/ios-wallet';
20
20
  import { RegisterSolanaMobileWalletOptions } from '@vue-solana/core/mobile-wallet';
21
21
  import { SolanaConfig, SolanaWallet } from '@vue-solana/core/types';
22
22
  import { App } from 'vue';
23
- import '@vue-solana/core/address';
24
23
  import '@vue-solana/core/errors';
25
- import '@vue-solana/core/web3';
26
- import '@solana/web3-compat';
27
24
  import '@solana/kit';
28
- import '@vue-solana/core/spl-token';
29
25
  import '@vue-solana/core/token-accounts';
30
26
 
31
27
  interface VueSolanaPluginOptions extends SolanaConfig {
package/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- export { UseAccountInfoOptions, useAccountInfo } from './useAccountInfo.js';
2
- export { useBalance } from './useBalance.js';
1
+ export { AccountInfo, UseAccountInfoOptions, useAccountInfo } from './useAccountInfo.js';
2
+ export { BalanceInput, useBalance } from './useBalance.js';
3
3
  export { useConnection } from './useConnection.js';
4
4
  export { ProgramAccount, ProgramAccountDataSizeFilter, ProgramAccountDataSlice, ProgramAccountFilter, ProgramAccountMemcmpEncoding, ProgramAccountMemcmpFilter, UseProgramAccountsOptions, useProgramAccounts } from './useProgramAccounts.js';
5
5
  export { useRpc } from './useRpc.js';
6
6
  export { SignMessageStatus, useSignMessage } from './useSignMessage.js';
7
7
  export { SignAndSendTransactionOptions, SignAndSendTransactionStatus, useSignAndSendTransaction } from './useSignAndSendTransaction.js';
8
- export { UseSignatureStatusOptions, useSignatureStatus } from './useSignatureStatus.js';
8
+ export { SignatureStatus, UseSignatureStatusOptions, useSignatureStatus } from './useSignatureStatus.js';
9
9
  export { tryUseSolana, useSolana } from './useSolana.js';
10
10
  export { useSolanaClient } from './useSolanaClient.js';
11
11
  export { UseTokenAccountsOptions, useTokenAccounts } from './useTokenAccounts.js';
@@ -15,17 +15,13 @@ export { TransactionConfirmationStatus, getConfirmedTransactionStatus, useTransa
15
15
  export { useWallet } from './useWallet.js';
16
16
  export { useWallets } from './useWallets.js';
17
17
  export { S as SolanaConnectionStatus, V as VueSolanaContext, s as solanaInjectionKey } from './shared/vue.DL3z5PxP.js';
18
- export { Address, Lamports, Rpc, SolanaClient, SolanaRpcApi, address, createSolanaClient, lamports } from '@vue-solana/core/kit';
18
+ export { Address, Commitment, Lamports, Rpc, Signature, SolanaClient, SolanaRpcApi, address, createSolanaClient, lamports } from '@vue-solana/core/kit';
19
19
  import { GetSolanaIosWalletsOptions } from '@vue-solana/core/ios-wallet';
20
20
  import { RegisterSolanaMobileWalletOptions } from '@vue-solana/core/mobile-wallet';
21
21
  import { SolanaConfig, SolanaWallet } from '@vue-solana/core/types';
22
22
  import { App } from 'vue';
23
- import '@vue-solana/core/address';
24
23
  import '@vue-solana/core/errors';
25
- import '@vue-solana/core/web3';
26
- import '@solana/web3-compat';
27
24
  import '@solana/kit';
28
- import '@vue-solana/core/spl-token';
29
25
  import '@vue-solana/core/token-accounts';
30
26
 
31
27
  interface VueSolanaPluginOptions extends SolanaConfig {
package/dist/index.mjs CHANGED
@@ -1,20 +1,20 @@
1
- export { u as useAccountInfo } from './shared/vue.CfrVAzEf.mjs';
2
- export { u as useBalance } from './shared/vue.DDxhSi72.mjs';
3
- export { u as useConnection } from './shared/vue.DiNn3XHm.mjs';
4
- export { u as useProgramAccounts } from './shared/vue.CPjEwHSg.mjs';
5
- export { u as useRpc } from './shared/vue.BtUKvuQw.mjs';
6
- export { u as useSignMessage } from './shared/vue.CSzg70vB.mjs';
7
- export { u as useSignAndSendTransaction } from './shared/vue.CM_uqVc0.mjs';
8
- export { u as useSignatureStatus } from './shared/vue.B12Pt1PQ.mjs';
9
- import { s as solanaInjectionKey } from './shared/vue.CYKT65tB.mjs';
10
- export { t as tryUseSolana, u as useSolana } from './shared/vue.CYKT65tB.mjs';
11
- export { u as useSolanaClient } from './shared/vue.By1CUlOU.mjs';
12
- export { u as useTokenAccounts } from './shared/vue.CKTUFwSI.mjs';
13
- export { u as useTokenBalance } from './shared/vue.D0ycWj82.mjs';
1
+ export { u as useAccountInfo } from './shared/vue.dPRo2X5y.mjs';
2
+ export { u as useBalance } from './shared/vue.stUBDBI9.mjs';
3
+ export { u as useConnection } from './shared/vue.ChujsB0B.mjs';
4
+ export { u as useProgramAccounts } from './shared/vue.BbMPRDeO.mjs';
5
+ export { u as useRpc } from './shared/vue.3VLZmw05.mjs';
6
+ export { u as useSignMessage } from './shared/vue.CZO8TwJP.mjs';
7
+ export { u as useSignAndSendTransaction } from './shared/vue.WugzPOca.mjs';
8
+ export { u as useSignatureStatus } from './shared/vue.DL-yMCNc.mjs';
9
+ import { s as solanaInjectionKey } from './shared/vue.CnUlZSe8.mjs';
10
+ export { t as tryUseSolana, u as useSolana } from './shared/vue.CnUlZSe8.mjs';
11
+ export { u as useSolanaClient } from './shared/vue.BaFrF2PF.mjs';
12
+ export { u as useTokenAccounts } from './shared/vue.yQcL1yMv.mjs';
13
+ export { u as useTokenBalance } from './shared/vue.DP7qY8Rk.mjs';
14
14
  export { u as useTransaction } from './shared/vue.C4d2JA8U.mjs';
15
- export { g as getConfirmedTransactionStatus, u as useTransactionConfirmation } from './shared/vue.QHAHFnw8.mjs';
16
- export { u as useWallet } from './shared/vue.B2AQR2bE.mjs';
17
- export { u as useWallets } from './shared/vue.DFbay4mm.mjs';
15
+ export { g as getConfirmedTransactionStatus, u as useTransactionConfirmation } from './shared/vue.B2sFJ1xI.mjs';
16
+ export { u as useWallet } from './shared/vue.PJjEncbP.mjs';
17
+ export { u as useWallets } from './shared/vue.D7xFeC2m.mjs';
18
18
  export { address, createSolanaClient, lamports } from '@vue-solana/core/kit';
19
19
  import { createSolanaError, normalizeSolanaError } from '@vue-solana/core/errors';
20
20
  import { createSolanaContext } from '@vue-solana/core/rpc';
@@ -23,6 +23,7 @@ import { getRegisteredSolanaWallets, getSolanaChain, adaptSolanaStandardWallet,
23
23
  import { shallowRef, ref, triggerRef } from 'vue';
24
24
  import { handleSolanaIosWalletCallback, getSolanaIosWallets, isSolanaIosWalletInfo, adaptSolanaIosWallet } from '@vue-solana/core/ios-wallet';
25
25
  import '@vue-solana/core/address';
26
+ import './shared/vue.Bfu1dCKe.mjs';
26
27
  import '@vue-solana/core/wallet';
27
28
  import '@vue-solana/core/transaction';
28
29
  import 'bs58';
@@ -226,13 +227,14 @@ function createSolanaPlugin(options = {}) {
226
227
  wsEndpoint: context.wsEndpoint
227
228
  });
228
229
  try {
229
- const blockhash = await withTimeout(
230
- context.connection.getLatestBlockhash(),
230
+ const response = await withTimeout(
231
+ context.client.rpc.getLatestBlockhash().send(),
231
232
  RPC_CHECK_TIMEOUT_MS,
232
233
  () => new Error(
233
234
  `RPC connection check timed out after ${RPC_CHECK_TIMEOUT_MS / 1e3} seconds.`
234
235
  )
235
236
  );
237
+ const blockhash = response.value;
236
238
  if (checkId !== rpcCheckId) {
237
239
  return;
238
240
  }
package/dist/kit.d.cts CHANGED
@@ -1 +1 @@
1
- export { Address, Lamports, Rpc, SolanaClient, SolanaRpcApi, address, createSolanaClient, lamports } from '@vue-solana/core/kit';
1
+ export { Address, Commitment, Lamports, Rpc, Signature, SolanaClient, SolanaRpcApi, address, createSolanaClient, lamports } from '@vue-solana/core/kit';
package/dist/kit.d.mts CHANGED
@@ -1 +1 @@
1
- export { Address, Lamports, Rpc, SolanaClient, SolanaRpcApi, address, createSolanaClient, lamports } from '@vue-solana/core/kit';
1
+ export { Address, Commitment, Lamports, Rpc, Signature, SolanaClient, SolanaRpcApi, address, createSolanaClient, lamports } from '@vue-solana/core/kit';
package/dist/kit.d.ts CHANGED
@@ -1 +1 @@
1
- export { Address, Lamports, Rpc, SolanaClient, SolanaRpcApi, address, createSolanaClient, lamports } from '@vue-solana/core/kit';
1
+ export { Address, Commitment, Lamports, Rpc, Signature, SolanaClient, SolanaRpcApi, address, createSolanaClient, lamports } from '@vue-solana/core/kit';
@@ -1,5 +1,5 @@
1
1
  import { computed } from 'vue';
2
- import { u as useSolana } from './vue.CYKT65tB.mjs';
2
+ import { u as useSolana } from './vue.CnUlZSe8.mjs';
3
3
 
4
4
  function useRpc() {
5
5
  const solana = useSolana();
@@ -11,7 +11,7 @@ function useRpc() {
11
11
  error: solana.error,
12
12
  latestBlockhash: solana.latestBlockhash,
13
13
  checkConnection: solana.checkConnection,
14
- connection: solana.connection
14
+ client: solana.client
15
15
  };
16
16
  }
17
17
 
@@ -1,7 +1,7 @@
1
1
  import { confirmTransactionSignature } from '@vue-solana/core/transaction';
2
2
  import { normalizeSolanaError } from '@vue-solana/core/errors';
3
3
  import { ref } from 'vue';
4
- import { u as useConnection } from './vue.DiNn3XHm.mjs';
4
+ import { u as useConnection } from './vue.ChujsB0B.mjs';
5
5
 
6
6
  function getConfirmedTransactionStatus(confirmation) {
7
7
  if (confirmation.commitment === "finalized") {
@@ -10,7 +10,7 @@ function getConfirmedTransactionStatus(confirmation) {
10
10
  return confirmation.commitment === "processed" ? "processed" : "confirmed";
11
11
  }
12
12
  function useTransactionConfirmation(defaultOptions = {}) {
13
- const connection = useConnection();
13
+ const client = useConnection();
14
14
  const signature = ref(null);
15
15
  const confirmation = ref(null);
16
16
  const status = ref("idle");
@@ -27,7 +27,7 @@ function useTransactionConfirmation(defaultOptions = {}) {
27
27
  error.value = null;
28
28
  try {
29
29
  const nextConfirmation = await confirmTransactionSignature(
30
- connection,
30
+ client,
31
31
  nextSignature,
32
32
  confirmationOptions
33
33
  );
@@ -3,7 +3,7 @@
3
3
  const errors = require('@vue-solana/core/errors');
4
4
  const wallet = require('@vue-solana/core/wallet');
5
5
  const vue = require('vue');
6
- const useSolana = require('./vue.BE4KHksm.cjs');
6
+ const useSolana = require('./vue.BaR1VPhl.cjs');
7
7
 
8
8
  function useWallet() {
9
9
  const solana = useSolana.useSolana();
@@ -22,7 +22,7 @@ function useWallet() {
22
22
  await connection;
23
23
  vue.triggerRef(wallet$1);
24
24
  console.info("[Vue Solana] Wallet connected", {
25
- publicKey: activeWallet.publicKey?.toBase58() ?? null
25
+ publicKey: activeWallet.publicKey ?? null
26
26
  });
27
27
  } catch (error) {
28
28
  const normalizedError = errors.normalizeSolanaError(error, "RPC_FAILURE");
@@ -38,7 +38,7 @@ function useWallet() {
38
38
  if (!activeWallet) {
39
39
  return;
40
40
  }
41
- const publicKey = activeWallet.publicKey?.toBase58() ?? null;
41
+ const publicKey = activeWallet.publicKey ?? null;
42
42
  disconnecting.value = true;
43
43
  try {
44
44
  await activeWallet.disconnect();
@@ -0,0 +1,82 @@
1
+ 'use strict';
2
+
3
+ const errors = require('@vue-solana/core/errors');
4
+ const vue = require('vue');
5
+ const address = require('@vue-solana/core/address');
6
+ const useConnection = require('./vue.CZwftA0L.cjs');
7
+ const useSolana = require('./vue.BaR1VPhl.cjs');
8
+ const decodeBase64 = require('./vue.DNxOpDXz.cjs');
9
+
10
+ function useAccountInfo(address$1, options = {}) {
11
+ const solana = useSolana.tryUseSolana();
12
+ const client = solana?.client ?? useConnection.useConnection();
13
+ const accountInfo = vue.shallowRef(null);
14
+ const loading = vue.shallowRef(false);
15
+ const error = vue.shallowRef(null);
16
+ let refreshId = 0;
17
+ async function refresh() {
18
+ const requestId = ++refreshId;
19
+ const value = vue.toValue(address$1);
20
+ if (!value || !solana) {
21
+ accountInfo.value = null;
22
+ loading.value = false;
23
+ error.value = null;
24
+ return null;
25
+ }
26
+ loading.value = true;
27
+ error.value = null;
28
+ try {
29
+ const parsedAddress = address.parseAddress(value);
30
+ if (!parsedAddress) {
31
+ accountInfo.value = null;
32
+ return null;
33
+ }
34
+ const { value: account } = await client.rpc.getAccountInfo(parsedAddress, {
35
+ encoding: "base64",
36
+ commitment: options.commitment
37
+ }).send();
38
+ const nextAccountInfo = account ? normalizeAccountInfo(account) : null;
39
+ if (requestId === refreshId) {
40
+ accountInfo.value = nextAccountInfo;
41
+ }
42
+ return nextAccountInfo;
43
+ } catch (cause) {
44
+ const normalizedError = errors.normalizeSolanaError(cause, "RPC_FAILURE");
45
+ if (requestId === refreshId) {
46
+ accountInfo.value = null;
47
+ error.value = normalizedError;
48
+ }
49
+ throw normalizedError;
50
+ } finally {
51
+ if (requestId === refreshId) {
52
+ loading.value = false;
53
+ }
54
+ }
55
+ }
56
+ vue.onMounted(() => {
57
+ void refresh().catch(() => void 0);
58
+ });
59
+ vue.watch(
60
+ () => vue.toValue(address$1),
61
+ () => {
62
+ void refresh().catch(() => void 0);
63
+ }
64
+ );
65
+ return {
66
+ accountInfo,
67
+ loading,
68
+ error,
69
+ refresh
70
+ };
71
+ }
72
+ function normalizeAccountInfo(account) {
73
+ return {
74
+ executable: account.executable,
75
+ lamports: Number(account.lamports),
76
+ owner: account.owner,
77
+ space: Number(account.space),
78
+ data: decodeBase64.decodeBase64(account.data[0])
79
+ };
80
+ }
81
+
82
+ exports.useAccountInfo = useAccountInfo;
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
 
3
- const address = require('@vue-solana/core/address');
4
- const errors = require('@vue-solana/core/errors');
5
3
  const tokenAccounts = require('@vue-solana/core/token-accounts');
4
+ const errors = require('@vue-solana/core/errors');
5
+ const address = require('@vue-solana/core/address');
6
6
  const vue = require('vue');
7
- const useConnection = require('./vue.DCgByzxg.cjs');
8
- const useSolana = require('./vue.BE4KHksm.cjs');
7
+ const useConnection = require('./vue.CZwftA0L.cjs');
8
+ const useSolana = require('./vue.BaR1VPhl.cjs');
9
9
 
10
10
  function useTokenAccounts(owner, options) {
11
11
  const solana = useSolana.tryUseSolana();
12
- const connection = solana?.connection ?? useConnection.useConnection();
12
+ const client = solana?.client ?? useConnection.useConnection();
13
13
  const tokenAccounts$1 = vue.shallowRef([]);
14
14
  const loading = vue.shallowRef(false);
15
15
  const error = vue.shallowRef(null);
@@ -26,17 +26,16 @@ function useTokenAccounts(owner, options) {
26
26
  loading.value = true;
27
27
  error.value = null;
28
28
  try {
29
- const publicKey = address.parsePublicKey(value);
30
- if (!publicKey) {
29
+ const parsedAddress = address.parseAddress(value);
30
+ if (!parsedAddress) {
31
31
  tokenAccounts$1.value = [];
32
32
  loading.value = false;
33
33
  return [];
34
34
  }
35
- const opts = {
35
+ const nextAccounts = await tokenAccounts.getTokenAccountsByOwner(client, parsedAddress, {
36
36
  commitment: options?.commitment,
37
37
  programId: options?.programId
38
- };
39
- const nextAccounts = await tokenAccounts.getTokenAccountsByOwner(connection, publicKey, opts);
38
+ });
40
39
  if (requestId === refreshId) {
41
40
  tokenAccounts$1.value = nextAccounts;
42
41
  }
@@ -1,4 +1,4 @@
1
- import { u as useSolana } from './vue.CYKT65tB.mjs';
1
+ import { u as useSolana } from './vue.CnUlZSe8.mjs';
2
2
 
3
3
  function useSolanaClient() {
4
4
  const { client } = useSolana();
@@ -18,7 +18,6 @@ function getSsrContext() {
18
18
  cluster: "devnet",
19
19
  endpoint: "",
20
20
  wsEndpoint: "",
21
- connection: createUnavailableProxy(),
22
21
  client: createUnavailableProxy(),
23
22
  wallet: vue.shallowRef(null),
24
23
  status: vue.ref("idle"),
@@ -1,12 +1,13 @@
1
- import { parsePublicKey } from '@vue-solana/core/address';
2
1
  import { normalizeSolanaError } from '@vue-solana/core/errors';
3
2
  import { shallowRef, onMounted, onUnmounted, watch, toValue } from 'vue';
4
- import { u as useConnection } from './vue.DiNn3XHm.mjs';
5
- import { t as tryUseSolana } from './vue.CYKT65tB.mjs';
3
+ import { parseAddress } from '@vue-solana/core/address';
4
+ import { u as useConnection } from './vue.ChujsB0B.mjs';
5
+ import { t as tryUseSolana } from './vue.CnUlZSe8.mjs';
6
+ import { d as decodeBase64 } from './vue.Bfu1dCKe.mjs';
6
7
 
7
8
  function useProgramAccounts(programId, options = {}) {
8
9
  const solana = tryUseSolana();
9
- const connection = solana?.connection ?? useConnection();
10
+ const client = solana?.client ?? useConnection();
10
11
  const accounts = shallowRef([]);
11
12
  const loading = shallowRef(false);
12
13
  const error = shallowRef(null);
@@ -23,16 +24,27 @@ function useProgramAccounts(programId, options = {}) {
23
24
  loading.value = true;
24
25
  error.value = null;
25
26
  try {
26
- const publicKey = parsePublicKey(value);
27
- if (!publicKey) {
27
+ const parsedAddress = parseAddress(value);
28
+ if (!parsedAddress) {
28
29
  accounts.value = [];
29
30
  return [];
30
31
  }
31
- const nextAccounts = await connection.getProgramAccounts(publicKey, {
32
+ const { value: response } = await client.rpc.getProgramAccounts(parsedAddress, {
33
+ encoding: "base64",
32
34
  commitment: options.commitment,
33
35
  dataSlice: options.dataSlice,
34
36
  filters: options.filters
35
- });
37
+ }).send();
38
+ const nextAccounts = response.map(({ pubkey, account }) => ({
39
+ pubkey,
40
+ account: {
41
+ executable: account.executable,
42
+ lamports: Number(account.lamports),
43
+ owner: account.owner,
44
+ space: Number(account.space),
45
+ data: decodeBase64(account.data[0])
46
+ }
47
+ }));
36
48
  if (requestId === refreshId) {
37
49
  accounts.value = nextAccounts;
38
50
  }
@@ -0,0 +1,10 @@
1
+ function decodeBase64(value) {
2
+ const binary = atob(value);
3
+ const bytes = new Uint8Array(binary.length);
4
+ for (let index = 0; index < binary.length; index += 1) {
5
+ bytes[index] = binary.charCodeAt(index);
6
+ }
7
+ return bytes;
8
+ }
9
+
10
+ export { decodeBase64 as d };
@@ -3,7 +3,7 @@
3
3
  const transaction = require('@vue-solana/core/transaction');
4
4
  const errors = require('@vue-solana/core/errors');
5
5
  const vue = require('vue');
6
- const useConnection = require('./vue.DCgByzxg.cjs');
6
+ const useConnection = require('./vue.CZwftA0L.cjs');
7
7
 
8
8
  function getConfirmedTransactionStatus(confirmation) {
9
9
  if (confirmation.commitment === "finalized") {
@@ -12,7 +12,7 @@ function getConfirmedTransactionStatus(confirmation) {
12
12
  return confirmation.commitment === "processed" ? "processed" : "confirmed";
13
13
  }
14
14
  function useTransactionConfirmation(defaultOptions = {}) {
15
- const connection = useConnection.useConnection();
15
+ const client = useConnection.useConnection();
16
16
  const signature = vue.ref(null);
17
17
  const confirmation = vue.ref(null);
18
18
  const status = vue.ref("idle");
@@ -29,7 +29,7 @@ function useTransactionConfirmation(defaultOptions = {}) {
29
29
  error.value = null;
30
30
  try {
31
31
  const nextConfirmation = await transaction.confirmTransactionSignature(
32
- connection,
32
+ client,
33
33
  nextSignature,
34
34
  confirmationOptions
35
35
  );