@vue-solana/core 0.4.2 → 0.5.1

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
@@ -48,6 +48,7 @@ The root export remains supported. Direct subpath exports are also available for
48
48
 
49
49
  ```ts
50
50
  import { createSolanaContext } from "@vue-solana/core/rpc";
51
+ import { parsePublicKey } from "@vue-solana/core/address";
51
52
  import type { SolanaConfig } from "@vue-solana/core/types";
52
53
  ```
53
54
 
@@ -67,6 +68,8 @@ const config: SolanaConfig = {
67
68
 
68
69
  Supported clusters are `mainnet-beta`, `testnet`, `devnet`, and `localnet`. If `endpoint` is omitted, the package uses the public Solana RPC endpoint for the selected cluster. If `wsEndpoint` is omitted, it is derived from the RPC endpoint.
69
70
 
71
+ `autoConnect` is consumed by the Vue plugin and Nuxt module. It defaults to `false`; when set to `true`, Vue Solana reconnects only a previously selected wallet identity that is discovered again on the client.
72
+
70
73
  Use `mainnet-beta` for Solana mainnet. This is Solana's official cluster name; the package intentionally does not use `mainnet` as an alias.
71
74
 
72
75
  For development, use `devnet` and request free test SOL from the official faucet:
@@ -80,14 +83,17 @@ https://faucet.solana.com
80
83
  Direct subpaths:
81
84
 
82
85
  - `@vue-solana/core/types`
86
+ - `@vue-solana/core/address`
83
87
  - `@vue-solana/core/clusters`
84
- - `@vue-solana/core/rpc`
88
+ - `@vue-solana/core/ios-wallet`
85
89
  - `@vue-solana/core/mobile-wallet`
90
+ - `@vue-solana/core/rpc`
86
91
  - `@vue-solana/core/transaction`
87
92
  - `@vue-solana/core/wallet`
88
93
  - `@vue-solana/core/wallet-standard`
89
94
 
90
95
  - `DEFAULT_CLUSTER`: default cluster, currently `devnet`.
96
+ - `parsePublicKey(value)`: parses a `PublicKey`, address string, ref-like `{ value }`, getter, `null`, or `undefined` into a `PublicKey | null`.
91
97
  - `createSolanaConnection(config?)`: creates a `Connection`.
92
98
  - `createSolanaContext(config?)`: creates `{ cluster, endpoint, wsEndpoint, connection }`.
93
99
  - `getClusterEndpoint(cluster?)`: returns the HTTP RPC endpoint for a cluster.
@@ -97,6 +103,7 @@ Direct subpaths:
97
103
  - `assertWalletConnected(wallet)`: throws if the wallet is not connected.
98
104
  - `assertWalletCanSign(wallet)`: throws if the wallet cannot sign transactions.
99
105
  - `signAndSendTransaction(connection, wallet, transaction, options?)`: signs and sends a transaction using a configured wallet. Android Mobile Wallet Adapter wallets prefer `signTransaction` plus app-side RPC submission when available so the app can reliably return the submitted signature.
106
+ - `confirmTransactionSignature(connection, signature, options?)`: waits for a submitted signature to reach a requested commitment. Defaults to `confirmed` commitment and a 60 second timeout.
100
107
 
101
108
  ## Wallet Interface
102
109
 
@@ -151,7 +158,15 @@ If TypeScript cannot resolve `@solana/web3-compat`, add `types/web3-compat.d.ts`
151
158
 
152
159
  ```ts
153
160
  declare module "@solana/web3-compat" {
154
- export type { Commitment, SendOptions, TransactionSignature } from "@solana/web3.js";
161
+ export type {
162
+ AccountInfo,
163
+ Commitment,
164
+ RpcResponseAndContext,
165
+ SendOptions,
166
+ SignatureResult,
167
+ SignatureStatus,
168
+ TransactionSignature,
169
+ } from "@solana/web3.js";
155
170
  export {
156
171
  Connection,
157
172
  Keypair,
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ const web3Compat = require('@solana/web3-compat');
4
+
5
+ function parsePublicKey(value) {
6
+ const publicKeyInput = toPublicKeyInput(value);
7
+ if (!publicKeyInput) {
8
+ return null;
9
+ }
10
+ return typeof publicKeyInput === "string" ? new web3Compat.PublicKey(publicKeyInput) : publicKeyInput;
11
+ }
12
+ function toPublicKeyInput(value) {
13
+ if (!value) {
14
+ return null;
15
+ }
16
+ if (typeof value === "function") {
17
+ return value();
18
+ }
19
+ if (value instanceof web3Compat.PublicKey || typeof value === "string") {
20
+ return value;
21
+ }
22
+ return value.value;
23
+ }
24
+
25
+ exports.parsePublicKey = parsePublicKey;
@@ -0,0 +1,10 @@
1
+ import { PublicKey } from '@solana/web3-compat';
2
+
3
+ type PublicKeyInput = PublicKey | string | null | undefined;
4
+ type MaybePublicKeyInput = PublicKeyInput | {
5
+ value: PublicKeyInput;
6
+ } | (() => PublicKeyInput);
7
+ declare function parsePublicKey(value: MaybePublicKeyInput): PublicKey | null;
8
+
9
+ export { parsePublicKey };
10
+ export type { MaybePublicKeyInput, PublicKeyInput };
@@ -0,0 +1,10 @@
1
+ import { PublicKey } from '@solana/web3-compat';
2
+
3
+ type PublicKeyInput = PublicKey | string | null | undefined;
4
+ type MaybePublicKeyInput = PublicKeyInput | {
5
+ value: PublicKeyInput;
6
+ } | (() => PublicKeyInput);
7
+ declare function parsePublicKey(value: MaybePublicKeyInput): PublicKey | null;
8
+
9
+ export { parsePublicKey };
10
+ export type { MaybePublicKeyInput, PublicKeyInput };
@@ -0,0 +1,10 @@
1
+ import { PublicKey } from '@solana/web3-compat';
2
+
3
+ type PublicKeyInput = PublicKey | string | null | undefined;
4
+ type MaybePublicKeyInput = PublicKeyInput | {
5
+ value: PublicKeyInput;
6
+ } | (() => PublicKeyInput);
7
+ declare function parsePublicKey(value: MaybePublicKeyInput): PublicKey | null;
8
+
9
+ export { parsePublicKey };
10
+ export type { MaybePublicKeyInput, PublicKeyInput };
@@ -0,0 +1,23 @@
1
+ import { PublicKey } from '@solana/web3-compat';
2
+
3
+ function parsePublicKey(value) {
4
+ const publicKeyInput = toPublicKeyInput(value);
5
+ if (!publicKeyInput) {
6
+ return null;
7
+ }
8
+ return typeof publicKeyInput === "string" ? new PublicKey(publicKeyInput) : publicKeyInput;
9
+ }
10
+ function toPublicKeyInput(value) {
11
+ if (!value) {
12
+ return null;
13
+ }
14
+ if (typeof value === "function") {
15
+ return value();
16
+ }
17
+ if (value instanceof PublicKey || typeof value === "string") {
18
+ return value;
19
+ }
20
+ return value.value;
21
+ }
22
+
23
+ export { parsePublicKey };
package/dist/index.cjs CHANGED
@@ -1,19 +1,20 @@
1
1
  'use strict';
2
2
 
3
3
  const clusters = require('./clusters.cjs');
4
- const iosWallet = require('./ios-wallet.cjs');
4
+ const address = require('./address.cjs');
5
+ const adapter = require('./shared/core.DJZldB_x.cjs');
5
6
  const mobileWallet = require('./mobile-wallet.cjs');
6
7
  const rpc = require('./rpc.cjs');
7
8
  const transaction = require('./transaction.cjs');
8
9
  const wallet = require('./wallet.cjs');
9
- const walletStandard = require('./wallet-standard.cjs');
10
+ const discovery = require('./shared/core.8V8PLE-S.cjs');
10
11
  require('@solana/web3-compat');
11
12
  require('bs58');
12
13
  require('tweetnacl');
13
14
  require('@solana-mobile/wallet-standard-mobile');
14
- require('@wallet-standard/app');
15
15
  require('@wallet-standard/features');
16
16
  require('@solana/wallet-standard-features');
17
+ require('@wallet-standard/app');
17
18
 
18
19
 
19
20
 
@@ -21,26 +22,29 @@ exports.DEFAULT_CLUSTER = clusters.DEFAULT_CLUSTER;
21
22
  exports.getClusterEndpoint = clusters.getClusterEndpoint;
22
23
  exports.getClusterWebSocketEndpoint = clusters.getClusterWebSocketEndpoint;
23
24
  exports.getWebSocketEndpoint = clusters.getWebSocketEndpoint;
24
- exports.adaptSolanaIosWallet = iosWallet.adaptSolanaIosWallet;
25
- exports.getDefaultIosWalletAppIdentity = iosWallet.getDefaultIosWalletAppIdentity;
26
- exports.getDefaultIosWalletRedirectUrl = iosWallet.getDefaultIosWalletRedirectUrl;
27
- exports.getSolanaIosWallets = iosWallet.getSolanaIosWallets;
28
- exports.handleSolanaIosWalletCallback = iosWallet.handleSolanaIosWalletCallback;
29
- exports.isIosBrowser = iosWallet.isIosBrowser;
30
- exports.isSolanaIosBrowserWalletSupported = iosWallet.isSolanaIosBrowserWalletSupported;
31
- exports.isSolanaIosWalletInfo = iosWallet.isSolanaIosWalletInfo;
25
+ exports.parsePublicKey = address.parsePublicKey;
26
+ exports.adaptSolanaIosWallet = adapter.adaptSolanaIosWallet;
27
+ exports.getDefaultIosWalletAppIdentity = adapter.getDefaultIosWalletAppIdentity;
28
+ exports.getDefaultIosWalletRedirectUrl = adapter.getDefaultIosWalletRedirectUrl;
29
+ exports.getSolanaIosWallets = adapter.getSolanaIosWallets;
30
+ exports.handleSolanaIosWalletCallback = adapter.handleSolanaIosWalletCallback;
31
+ exports.isIosBrowser = adapter.isIosBrowser;
32
+ exports.isSolanaIosBrowserWalletSupported = adapter.isSolanaIosBrowserWalletSupported;
33
+ exports.isSolanaIosWalletInfo = adapter.isSolanaIosWalletInfo;
32
34
  exports.getDefaultMobileWalletAppIdentity = mobileWallet.getDefaultMobileWalletAppIdentity;
33
35
  exports.isSolanaMobileWalletSupported = mobileWallet.isSolanaMobileWalletSupported;
34
36
  exports.registerSolanaMobileWallet = mobileWallet.registerSolanaMobileWallet;
35
37
  exports.createSolanaConnection = rpc.createSolanaConnection;
36
38
  exports.createSolanaContext = rpc.createSolanaContext;
39
+ exports.confirmTransactionSignature = transaction.confirmTransactionSignature;
37
40
  exports.signAndSendTransaction = transaction.signAndSendTransaction;
38
41
  exports.assertWalletCanSign = wallet.assertWalletCanSign;
39
42
  exports.assertWalletConnected = wallet.assertWalletConnected;
40
43
  exports.isWalletConnected = wallet.isWalletConnected;
41
- exports.SOLANA_MOBILE_WALLET_ADAPTER_WALLET_NAME = walletStandard.SOLANA_MOBILE_WALLET_ADAPTER_WALLET_NAME;
42
- exports.adaptSolanaStandardWallet = walletStandard.adaptSolanaStandardWallet;
43
- exports.getRegisteredSolanaWallets = walletStandard.getRegisteredSolanaWallets;
44
- exports.getSolanaChain = walletStandard.getSolanaChain;
45
- exports.isSolanaStandardWallet = walletStandard.isSolanaStandardWallet;
46
- exports.subscribeSolanaWallets = walletStandard.subscribeSolanaWallets;
44
+ exports.SOLANA_CHAINS = discovery.SOLANA_CHAINS;
45
+ exports.SOLANA_MOBILE_WALLET_ADAPTER_WALLET_NAME = discovery.SOLANA_MOBILE_WALLET_ADAPTER_WALLET_NAME;
46
+ exports.adaptSolanaStandardWallet = discovery.adaptSolanaStandardWallet;
47
+ exports.getRegisteredSolanaWallets = discovery.getRegisteredSolanaWallets;
48
+ exports.getSolanaChain = discovery.getSolanaChain;
49
+ exports.isSolanaStandardWallet = discovery.isSolanaStandardWallet;
50
+ exports.subscribeSolanaWallets = discovery.subscribeSolanaWallets;
package/dist/index.d.cts CHANGED
@@ -1,10 +1,11 @@
1
1
  export { DEFAULT_CLUSTER, getClusterEndpoint, getClusterWebSocketEndpoint, getWebSocketEndpoint } from './clusters.cjs';
2
- export { AdaptSolanaIosWalletOptions, GetSolanaIosWalletsOptions, SolanaIosWalletAppIdentity, adaptSolanaIosWallet, getDefaultIosWalletAppIdentity, getDefaultIosWalletRedirectUrl, getSolanaIosWallets, handleSolanaIosWalletCallback, isIosBrowser, isSolanaIosBrowserWalletSupported, isSolanaIosWalletInfo } from './ios-wallet.cjs';
2
+ export { MaybePublicKeyInput, PublicKeyInput, parsePublicKey } from './address.cjs';
3
+ export { AdaptSolanaIosWalletOptions, GetSolanaIosWalletsOptions, IosWalletCallbackResult, IosWalletInfo, IosWalletMethod, SolanaIosWalletAppIdentity, adaptSolanaIosWallet, getDefaultIosWalletAppIdentity, getDefaultIosWalletRedirectUrl, getSolanaIosWallets, handleSolanaIosWalletCallback, isIosBrowser, isSolanaIosBrowserWalletSupported, isSolanaIosWalletInfo } from './ios-wallet.cjs';
3
4
  export { RegisterSolanaMobileWalletOptions, SolanaMobileWalletAppIdentity, getDefaultMobileWalletAppIdentity, isSolanaMobileWalletSupported, registerSolanaMobileWallet } from './mobile-wallet.cjs';
4
5
  export { createSolanaConnection, createSolanaContext } from './rpc.cjs';
5
- export { signAndSendTransaction } from './transaction.cjs';
6
- export { SendTransactionOptions, SolanaChain, SolanaCluster, SolanaConfig, SolanaContext, SolanaTransaction, SolanaWallet, SolanaWalletInfo } from './types.cjs';
6
+ export { confirmTransactionSignature, signAndSendTransaction } from './transaction.cjs';
7
+ export { ConfirmTransactionOptions, SendTransactionOptions, SolanaChain, SolanaCluster, SolanaConfig, SolanaContext, SolanaTransaction, SolanaWallet, SolanaWalletInfo, TransactionConfirmation } from './types.cjs';
7
8
  export { assertWalletCanSign, assertWalletConnected, isWalletConnected } from './wallet.cjs';
8
- export { AdaptSolanaWalletOptions, SOLANA_MOBILE_WALLET_ADAPTER_WALLET_NAME, adaptSolanaStandardWallet, getRegisteredSolanaWallets, getSolanaChain, isSolanaStandardWallet, subscribeSolanaWallets } from './wallet-standard.cjs';
9
+ export { AdaptSolanaWalletOptions, SOLANA_CHAINS, SOLANA_MOBILE_WALLET_ADAPTER_WALLET_NAME, adaptSolanaStandardWallet, getRegisteredSolanaWallets, getSolanaChain, isSolanaStandardWallet, subscribeSolanaWallets } from './wallet-standard.cjs';
9
10
  import '@solana/web3-compat';
10
11
  import '@wallet-standard/base';
package/dist/index.d.mts CHANGED
@@ -1,10 +1,11 @@
1
1
  export { DEFAULT_CLUSTER, getClusterEndpoint, getClusterWebSocketEndpoint, getWebSocketEndpoint } from './clusters.mjs';
2
- export { AdaptSolanaIosWalletOptions, GetSolanaIosWalletsOptions, SolanaIosWalletAppIdentity, adaptSolanaIosWallet, getDefaultIosWalletAppIdentity, getDefaultIosWalletRedirectUrl, getSolanaIosWallets, handleSolanaIosWalletCallback, isIosBrowser, isSolanaIosBrowserWalletSupported, isSolanaIosWalletInfo } from './ios-wallet.mjs';
2
+ export { MaybePublicKeyInput, PublicKeyInput, parsePublicKey } from './address.mjs';
3
+ export { AdaptSolanaIosWalletOptions, GetSolanaIosWalletsOptions, IosWalletCallbackResult, IosWalletInfo, IosWalletMethod, SolanaIosWalletAppIdentity, adaptSolanaIosWallet, getDefaultIosWalletAppIdentity, getDefaultIosWalletRedirectUrl, getSolanaIosWallets, handleSolanaIosWalletCallback, isIosBrowser, isSolanaIosBrowserWalletSupported, isSolanaIosWalletInfo } from './ios-wallet.mjs';
3
4
  export { RegisterSolanaMobileWalletOptions, SolanaMobileWalletAppIdentity, getDefaultMobileWalletAppIdentity, isSolanaMobileWalletSupported, registerSolanaMobileWallet } from './mobile-wallet.mjs';
4
5
  export { createSolanaConnection, createSolanaContext } from './rpc.mjs';
5
- export { signAndSendTransaction } from './transaction.mjs';
6
- export { SendTransactionOptions, SolanaChain, SolanaCluster, SolanaConfig, SolanaContext, SolanaTransaction, SolanaWallet, SolanaWalletInfo } from './types.mjs';
6
+ export { confirmTransactionSignature, signAndSendTransaction } from './transaction.mjs';
7
+ export { ConfirmTransactionOptions, SendTransactionOptions, SolanaChain, SolanaCluster, SolanaConfig, SolanaContext, SolanaTransaction, SolanaWallet, SolanaWalletInfo, TransactionConfirmation } from './types.mjs';
7
8
  export { assertWalletCanSign, assertWalletConnected, isWalletConnected } from './wallet.mjs';
8
- export { AdaptSolanaWalletOptions, SOLANA_MOBILE_WALLET_ADAPTER_WALLET_NAME, adaptSolanaStandardWallet, getRegisteredSolanaWallets, getSolanaChain, isSolanaStandardWallet, subscribeSolanaWallets } from './wallet-standard.mjs';
9
+ export { AdaptSolanaWalletOptions, SOLANA_CHAINS, SOLANA_MOBILE_WALLET_ADAPTER_WALLET_NAME, adaptSolanaStandardWallet, getRegisteredSolanaWallets, getSolanaChain, isSolanaStandardWallet, subscribeSolanaWallets } from './wallet-standard.mjs';
9
10
  import '@solana/web3-compat';
10
11
  import '@wallet-standard/base';
package/dist/index.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  export { DEFAULT_CLUSTER, getClusterEndpoint, getClusterWebSocketEndpoint, getWebSocketEndpoint } from './clusters.js';
2
- export { AdaptSolanaIosWalletOptions, GetSolanaIosWalletsOptions, SolanaIosWalletAppIdentity, adaptSolanaIosWallet, getDefaultIosWalletAppIdentity, getDefaultIosWalletRedirectUrl, getSolanaIosWallets, handleSolanaIosWalletCallback, isIosBrowser, isSolanaIosBrowserWalletSupported, isSolanaIosWalletInfo } from './ios-wallet.js';
2
+ export { MaybePublicKeyInput, PublicKeyInput, parsePublicKey } from './address.js';
3
+ export { AdaptSolanaIosWalletOptions, GetSolanaIosWalletsOptions, IosWalletCallbackResult, IosWalletInfo, IosWalletMethod, SolanaIosWalletAppIdentity, adaptSolanaIosWallet, getDefaultIosWalletAppIdentity, getDefaultIosWalletRedirectUrl, getSolanaIosWallets, handleSolanaIosWalletCallback, isIosBrowser, isSolanaIosBrowserWalletSupported, isSolanaIosWalletInfo } from './ios-wallet.js';
3
4
  export { RegisterSolanaMobileWalletOptions, SolanaMobileWalletAppIdentity, getDefaultMobileWalletAppIdentity, isSolanaMobileWalletSupported, registerSolanaMobileWallet } from './mobile-wallet.js';
4
5
  export { createSolanaConnection, createSolanaContext } from './rpc.js';
5
- export { signAndSendTransaction } from './transaction.js';
6
- export { SendTransactionOptions, SolanaChain, SolanaCluster, SolanaConfig, SolanaContext, SolanaTransaction, SolanaWallet, SolanaWalletInfo } from './types.js';
6
+ export { confirmTransactionSignature, signAndSendTransaction } from './transaction.js';
7
+ export { ConfirmTransactionOptions, SendTransactionOptions, SolanaChain, SolanaCluster, SolanaConfig, SolanaContext, SolanaTransaction, SolanaWallet, SolanaWalletInfo, TransactionConfirmation } from './types.js';
7
8
  export { assertWalletCanSign, assertWalletConnected, isWalletConnected } from './wallet.js';
8
- export { AdaptSolanaWalletOptions, SOLANA_MOBILE_WALLET_ADAPTER_WALLET_NAME, adaptSolanaStandardWallet, getRegisteredSolanaWallets, getSolanaChain, isSolanaStandardWallet, subscribeSolanaWallets } from './wallet-standard.js';
9
+ export { AdaptSolanaWalletOptions, SOLANA_CHAINS, SOLANA_MOBILE_WALLET_ADAPTER_WALLET_NAME, adaptSolanaStandardWallet, getRegisteredSolanaWallets, getSolanaChain, isSolanaStandardWallet, subscribeSolanaWallets } from './wallet-standard.js';
9
10
  import '@solana/web3-compat';
10
11
  import '@wallet-standard/base';
package/dist/index.mjs CHANGED
@@ -1,14 +1,15 @@
1
1
  export { DEFAULT_CLUSTER, getClusterEndpoint, getClusterWebSocketEndpoint, getWebSocketEndpoint } from './clusters.mjs';
2
- export { adaptSolanaIosWallet, getDefaultIosWalletAppIdentity, getDefaultIosWalletRedirectUrl, getSolanaIosWallets, handleSolanaIosWalletCallback, isIosBrowser, isSolanaIosBrowserWalletSupported, isSolanaIosWalletInfo } from './ios-wallet.mjs';
2
+ export { parsePublicKey } from './address.mjs';
3
+ export { a as adaptSolanaIosWallet, g as getDefaultIosWalletAppIdentity, b as getDefaultIosWalletRedirectUrl, c as getSolanaIosWallets, h as handleSolanaIosWalletCallback, i as isIosBrowser, d as isSolanaIosBrowserWalletSupported, e as isSolanaIosWalletInfo } from './shared/core.DSI7vIfT.mjs';
3
4
  export { getDefaultMobileWalletAppIdentity, isSolanaMobileWalletSupported, registerSolanaMobileWallet } from './mobile-wallet.mjs';
4
5
  export { createSolanaConnection, createSolanaContext } from './rpc.mjs';
5
- export { signAndSendTransaction } from './transaction.mjs';
6
+ export { confirmTransactionSignature, signAndSendTransaction } from './transaction.mjs';
6
7
  export { assertWalletCanSign, assertWalletConnected, isWalletConnected } from './wallet.mjs';
7
- export { SOLANA_MOBILE_WALLET_ADAPTER_WALLET_NAME, adaptSolanaStandardWallet, getRegisteredSolanaWallets, getSolanaChain, isSolanaStandardWallet, subscribeSolanaWallets } from './wallet-standard.mjs';
8
+ export { S as SOLANA_CHAINS, a as SOLANA_MOBILE_WALLET_ADAPTER_WALLET_NAME, b as adaptSolanaStandardWallet, g as getRegisteredSolanaWallets, c as getSolanaChain, i as isSolanaStandardWallet, s as subscribeSolanaWallets } from './shared/core.D7olTUN_.mjs';
8
9
  import '@solana/web3-compat';
9
10
  import 'bs58';
10
11
  import 'tweetnacl';
11
12
  import '@solana-mobile/wallet-standard-mobile';
12
- import '@wallet-standard/app';
13
13
  import '@wallet-standard/features';
14
14
  import '@solana/wallet-standard-features';
15
+ import '@wallet-standard/app';