@vue-solana/core 0.5.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/wallet.cjs CHANGED
@@ -1,20 +1,48 @@
1
1
  'use strict';
2
2
 
3
+ const errors = require('./errors.cjs');
4
+
5
+ class SolanaWalletError extends errors.SolanaError {
6
+ constructor(code, message, options = {}) {
7
+ super(code, message, options);
8
+ this.name = "SolanaWalletError";
9
+ }
10
+ }
11
+ function createNoWalletSelectedError(cause) {
12
+ return new SolanaWalletError("NO_WALLET_SELECTED", "No Solana wallet is selected", { cause });
13
+ }
3
14
  function isWalletConnected(wallet) {
4
15
  return Boolean(wallet?.connected && wallet.publicKey);
5
16
  }
6
17
  function assertWalletConnected(wallet) {
7
18
  if (!isWalletConnected(wallet)) {
8
- throw new Error("Solana wallet is not connected");
19
+ throw new SolanaWalletError("WALLET_NOT_CONNECTED", "Solana wallet is not connected");
9
20
  }
10
21
  }
11
22
  function assertWalletCanSign(wallet) {
12
23
  assertWalletConnected(wallet);
13
24
  if (!wallet.signTransaction) {
14
- throw new Error("Solana wallet does not support signTransaction");
25
+ throw new SolanaWalletError(
26
+ "WALLET_FEATURE_UNSUPPORTED",
27
+ "Solana wallet does not support signTransaction",
28
+ { feature: "signTransaction" }
29
+ );
30
+ }
31
+ }
32
+ function assertWalletCanSignMessage(wallet) {
33
+ assertWalletConnected(wallet);
34
+ if (!wallet.signMessage) {
35
+ throw new SolanaWalletError(
36
+ "WALLET_FEATURE_UNSUPPORTED",
37
+ "Solana wallet does not support signMessage",
38
+ { feature: "signMessage" }
39
+ );
15
40
  }
16
41
  }
17
42
 
43
+ exports.SolanaWalletError = SolanaWalletError;
18
44
  exports.assertWalletCanSign = assertWalletCanSign;
45
+ exports.assertWalletCanSignMessage = assertWalletCanSignMessage;
19
46
  exports.assertWalletConnected = assertWalletConnected;
47
+ exports.createNoWalletSelectedError = createNoWalletSelectedError;
20
48
  exports.isWalletConnected = isWalletConnected;
package/dist/wallet.d.cts CHANGED
@@ -1,10 +1,21 @@
1
1
  import { SolanaWallet } from './types.cjs';
2
+ import { SolanaError } from './errors.cjs';
2
3
  import '@solana/web3-compat';
3
4
 
5
+ type SolanaWalletErrorCode = "NO_WALLET_SELECTED" | "WALLET_NOT_CONNECTED" | "WALLET_FEATURE_UNSUPPORTED";
6
+ declare class SolanaWalletError extends SolanaError {
7
+ constructor(code: SolanaWalletErrorCode, message: string, options?: {
8
+ cause?: unknown;
9
+ feature?: string;
10
+ });
11
+ }
12
+ declare function createNoWalletSelectedError(cause?: unknown): SolanaWalletError;
4
13
  declare function isWalletConnected(wallet: Pick<SolanaWallet, "connected" | "publicKey"> | null | undefined): boolean;
5
14
  declare function assertWalletConnected(wallet: SolanaWallet | null | undefined): asserts wallet is SolanaWallet & {
6
15
  publicKey: NonNullable<SolanaWallet["publicKey"]>;
7
16
  };
8
17
  declare function assertWalletCanSign(wallet: SolanaWallet | null | undefined): asserts wallet is SolanaWallet & Required<Pick<SolanaWallet, "signTransaction">>;
18
+ declare function assertWalletCanSignMessage(wallet: SolanaWallet | null | undefined): asserts wallet is SolanaWallet & Required<Pick<SolanaWallet, "signMessage">>;
9
19
 
10
- export { assertWalletCanSign, assertWalletConnected, isWalletConnected };
20
+ export { SolanaWalletError, assertWalletCanSign, assertWalletCanSignMessage, assertWalletConnected, createNoWalletSelectedError, isWalletConnected };
21
+ export type { SolanaWalletErrorCode };
package/dist/wallet.d.mts CHANGED
@@ -1,10 +1,21 @@
1
1
  import { SolanaWallet } from './types.mjs';
2
+ import { SolanaError } from './errors.mjs';
2
3
  import '@solana/web3-compat';
3
4
 
5
+ type SolanaWalletErrorCode = "NO_WALLET_SELECTED" | "WALLET_NOT_CONNECTED" | "WALLET_FEATURE_UNSUPPORTED";
6
+ declare class SolanaWalletError extends SolanaError {
7
+ constructor(code: SolanaWalletErrorCode, message: string, options?: {
8
+ cause?: unknown;
9
+ feature?: string;
10
+ });
11
+ }
12
+ declare function createNoWalletSelectedError(cause?: unknown): SolanaWalletError;
4
13
  declare function isWalletConnected(wallet: Pick<SolanaWallet, "connected" | "publicKey"> | null | undefined): boolean;
5
14
  declare function assertWalletConnected(wallet: SolanaWallet | null | undefined): asserts wallet is SolanaWallet & {
6
15
  publicKey: NonNullable<SolanaWallet["publicKey"]>;
7
16
  };
8
17
  declare function assertWalletCanSign(wallet: SolanaWallet | null | undefined): asserts wallet is SolanaWallet & Required<Pick<SolanaWallet, "signTransaction">>;
18
+ declare function assertWalletCanSignMessage(wallet: SolanaWallet | null | undefined): asserts wallet is SolanaWallet & Required<Pick<SolanaWallet, "signMessage">>;
9
19
 
10
- export { assertWalletCanSign, assertWalletConnected, isWalletConnected };
20
+ export { SolanaWalletError, assertWalletCanSign, assertWalletCanSignMessage, assertWalletConnected, createNoWalletSelectedError, isWalletConnected };
21
+ export type { SolanaWalletErrorCode };
package/dist/wallet.d.ts CHANGED
@@ -1,10 +1,21 @@
1
1
  import { SolanaWallet } from './types.js';
2
+ import { SolanaError } from './errors.js';
2
3
  import '@solana/web3-compat';
3
4
 
5
+ type SolanaWalletErrorCode = "NO_WALLET_SELECTED" | "WALLET_NOT_CONNECTED" | "WALLET_FEATURE_UNSUPPORTED";
6
+ declare class SolanaWalletError extends SolanaError {
7
+ constructor(code: SolanaWalletErrorCode, message: string, options?: {
8
+ cause?: unknown;
9
+ feature?: string;
10
+ });
11
+ }
12
+ declare function createNoWalletSelectedError(cause?: unknown): SolanaWalletError;
4
13
  declare function isWalletConnected(wallet: Pick<SolanaWallet, "connected" | "publicKey"> | null | undefined): boolean;
5
14
  declare function assertWalletConnected(wallet: SolanaWallet | null | undefined): asserts wallet is SolanaWallet & {
6
15
  publicKey: NonNullable<SolanaWallet["publicKey"]>;
7
16
  };
8
17
  declare function assertWalletCanSign(wallet: SolanaWallet | null | undefined): asserts wallet is SolanaWallet & Required<Pick<SolanaWallet, "signTransaction">>;
18
+ declare function assertWalletCanSignMessage(wallet: SolanaWallet | null | undefined): asserts wallet is SolanaWallet & Required<Pick<SolanaWallet, "signMessage">>;
9
19
 
10
- export { assertWalletCanSign, assertWalletConnected, isWalletConnected };
20
+ export { SolanaWalletError, assertWalletCanSign, assertWalletCanSignMessage, assertWalletConnected, createNoWalletSelectedError, isWalletConnected };
21
+ export type { SolanaWalletErrorCode };
package/dist/wallet.mjs CHANGED
@@ -1,16 +1,41 @@
1
+ import { SolanaError } from './errors.mjs';
2
+
3
+ class SolanaWalletError extends SolanaError {
4
+ constructor(code, message, options = {}) {
5
+ super(code, message, options);
6
+ this.name = "SolanaWalletError";
7
+ }
8
+ }
9
+ function createNoWalletSelectedError(cause) {
10
+ return new SolanaWalletError("NO_WALLET_SELECTED", "No Solana wallet is selected", { cause });
11
+ }
1
12
  function isWalletConnected(wallet) {
2
13
  return Boolean(wallet?.connected && wallet.publicKey);
3
14
  }
4
15
  function assertWalletConnected(wallet) {
5
16
  if (!isWalletConnected(wallet)) {
6
- throw new Error("Solana wallet is not connected");
17
+ throw new SolanaWalletError("WALLET_NOT_CONNECTED", "Solana wallet is not connected");
7
18
  }
8
19
  }
9
20
  function assertWalletCanSign(wallet) {
10
21
  assertWalletConnected(wallet);
11
22
  if (!wallet.signTransaction) {
12
- throw new Error("Solana wallet does not support signTransaction");
23
+ throw new SolanaWalletError(
24
+ "WALLET_FEATURE_UNSUPPORTED",
25
+ "Solana wallet does not support signTransaction",
26
+ { feature: "signTransaction" }
27
+ );
28
+ }
29
+ }
30
+ function assertWalletCanSignMessage(wallet) {
31
+ assertWalletConnected(wallet);
32
+ if (!wallet.signMessage) {
33
+ throw new SolanaWalletError(
34
+ "WALLET_FEATURE_UNSUPPORTED",
35
+ "Solana wallet does not support signMessage",
36
+ { feature: "signMessage" }
37
+ );
13
38
  }
14
39
  }
15
40
 
16
- export { assertWalletCanSign, assertWalletConnected, isWalletConnected };
41
+ export { SolanaWalletError, assertWalletCanSign, assertWalletCanSignMessage, assertWalletConnected, createNoWalletSelectedError, isWalletConnected };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue-solana/core",
3
- "version": "0.5.1",
3
+ "version": "0.7.0",
4
4
  "description": "Framework-agnostic primitives for Vue Solana libraries.",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -45,6 +45,11 @@
45
45
  "import": "./dist/clusters.mjs",
46
46
  "require": "./dist/clusters.cjs"
47
47
  },
48
+ "./errors": {
49
+ "types": "./dist/errors.d.ts",
50
+ "import": "./dist/errors.mjs",
51
+ "require": "./dist/errors.cjs"
52
+ },
48
53
  "./ios-wallet": {
49
54
  "types": "./dist/ios-wallet.d.ts",
50
55
  "import": "./dist/ios-wallet.mjs",
@@ -60,6 +65,11 @@
60
65
  "import": "./dist/rpc.mjs",
61
66
  "require": "./dist/rpc.cjs"
62
67
  },
68
+ "./timeout": {
69
+ "types": "./dist/timeout.d.ts",
70
+ "import": "./dist/timeout.mjs",
71
+ "require": "./dist/timeout.cjs"
72
+ },
63
73
  "./transaction": {
64
74
  "types": "./dist/transaction.d.ts",
65
75
  "import": "./dist/transaction.mjs",