@vue-solana/core 2.6.1 → 3.0.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.
Files changed (58) hide show
  1. package/README.md +6 -4
  2. package/dist/errors.d.mts +1 -1
  3. package/dist/errors.d.ts +1 -1
  4. package/dist/index.d.mts +4 -2
  5. package/dist/index.d.ts +4 -2
  6. package/dist/index.mjs +6 -11
  7. package/dist/ios-wallet.mjs +1 -4
  8. package/dist/kit.d.mts +1 -1
  9. package/dist/kit.d.ts +1 -1
  10. package/dist/kit.mjs +4 -4
  11. package/dist/mobile-wallet-support.d.mts +3 -0
  12. package/dist/mobile-wallet-support.d.ts +3 -0
  13. package/dist/mobile-wallet-support.mjs +5 -0
  14. package/dist/mobile-wallet.d.mts +2 -2
  15. package/dist/mobile-wallet.d.ts +2 -2
  16. package/dist/mobile-wallet.mjs +1 -9
  17. package/dist/rpc.mjs +0 -2
  18. package/dist/shared/{core.CDVW-ApZ.mjs → core.DJsPYgx_.mjs} +89 -36
  19. package/dist/shared/{core.TqudP0hB.mjs → core.DaUlAmcN.mjs} +15 -22
  20. package/dist/timeout.mjs +3 -0
  21. package/dist/wallet-standard.mjs +1 -5
  22. package/dist/wallet.mjs +26 -39
  23. package/package.json +22 -35
  24. package/dist/action.cjs +0 -14
  25. package/dist/action.d.cts +0 -28
  26. package/dist/address.cjs +0 -33
  27. package/dist/address.d.cts +0 -16
  28. package/dist/buffer-polyfill.cjs +0 -12
  29. package/dist/buffer-polyfill.d.cts +0 -7
  30. package/dist/clusters.cjs +0 -37
  31. package/dist/clusters.d.cts +0 -10
  32. package/dist/errors.cjs +0 -50
  33. package/dist/errors.d.cts +0 -17
  34. package/dist/index.cjs +0 -94
  35. package/dist/index.d.cts +0 -19
  36. package/dist/ios-wallet.cjs +0 -17
  37. package/dist/ios-wallet.d.cts +0 -62
  38. package/dist/kit.cjs +0 -88
  39. package/dist/kit.d.cts +0 -3
  40. package/dist/mobile-wallet.cjs +0 -69
  41. package/dist/mobile-wallet.d.cts +0 -20
  42. package/dist/rpc.cjs +0 -20
  43. package/dist/rpc.d.cts +0 -7
  44. package/dist/shared/core.C9vxHRXl.d.cts +0 -193
  45. package/dist/shared/core.CasnoavM.cjs +0 -323
  46. package/dist/shared/core.eIBHqmLq.cjs +0 -598
  47. package/dist/timeout.cjs +0 -32
  48. package/dist/timeout.d.cts +0 -4
  49. package/dist/token-accounts.cjs +0 -72
  50. package/dist/token-accounts.d.cts +0 -36
  51. package/dist/transaction.cjs +0 -81
  52. package/dist/transaction.d.cts +0 -18
  53. package/dist/types.cjs +0 -2
  54. package/dist/types.d.cts +0 -3
  55. package/dist/wallet-standard.cjs +0 -17
  56. package/dist/wallet-standard.d.cts +0 -22
  57. package/dist/wallet.cjs +0 -81
  58. package/dist/wallet.d.cts +0 -25
@@ -1,36 +0,0 @@
1
- import { Address, Commitment } from '@solana/kit';
2
- import { b as SolanaClient } from './shared/core.C9vxHRXl.cjs';
3
- import '@solana/kit-plugin-rpc';
4
-
5
- interface TokenAccountInfo {
6
- address: Address;
7
- mint: Address;
8
- owner: Address;
9
- amount: bigint;
10
- decimals: number;
11
- state: "frozen" | "initialized" | "uninitialized";
12
- isNative: boolean;
13
- }
14
- interface TokenAccountsByOwnerOptions {
15
- commitment?: Commitment;
16
- programId?: Address;
17
- }
18
- /**
19
- * Get all SPL token accounts for an owner using parsed kit RPC reads.
20
- */
21
- declare function getTokenAccountsByOwner(client: SolanaClient, owner: Address, options?: TokenAccountsByOwnerOptions): Promise<TokenAccountInfo[]>;
22
- /**
23
- * Get a single parsed token account at the given address.
24
- */
25
- declare function getTokenAccount(client: SolanaClient, address: Address, commitment?: Commitment): Promise<TokenAccountInfo | null>;
26
- interface TokenBalanceResult {
27
- amount: bigint;
28
- decimals: number;
29
- }
30
- /**
31
- * Read the token balance of the accounts an owner holds for a given mint.
32
- */
33
- declare function getTokenBalance(client: SolanaClient, mint: Address, owner: Address, commitment?: Commitment): Promise<TokenBalanceResult | null>;
34
-
35
- export { getTokenAccount, getTokenAccountsByOwner, getTokenBalance };
36
- export type { TokenAccountInfo, TokenAccountsByOwnerOptions, TokenBalanceResult };
@@ -1,81 +0,0 @@
1
- 'use strict';
2
-
3
- const kit = require('@solana/kit');
4
- const errors = require('./errors.cjs');
5
- const wallet = require('./wallet.cjs');
6
-
7
- const DEFAULT_CONFIRMATION_COMMITMENT = "confirmed";
8
- const DEFAULT_CONFIRMATION_TIMEOUT_MS = 6e4;
9
- const SIGNATURE_STATUS_POLL_INTERVAL_MS = 1500;
10
- const COMMITMENT_RANK = { processed: 0, confirmed: 1, finalized: 2 };
11
- async function signAndSendTransaction(client, wallet$1, transaction, options) {
12
- try {
13
- wallet.assertWalletConnected(wallet$1);
14
- if (wallet$1.signAndSendTransaction) {
15
- const result = await wallet$1.signAndSendTransaction(transaction, options);
16
- return result.signature;
17
- }
18
- wallet.assertWalletCanSign(wallet$1);
19
- const signedTransaction = await wallet$1.signTransaction(transaction);
20
- const base64Transaction = toBase64WireTransaction(signedTransaction);
21
- const { maxRetries, minContextSlot, preflightCommitment, skipPreflight } = options ?? {};
22
- return await client.rpc.sendTransaction(base64Transaction, {
23
- encoding: "base64",
24
- maxRetries,
25
- minContextSlot,
26
- preflightCommitment,
27
- skipPreflight
28
- }).send();
29
- } catch (cause) {
30
- throw errors.normalizeSolanaError(cause, "RPC_FAILURE");
31
- }
32
- }
33
- async function confirmTransactionSignature(client, signature, options = {}) {
34
- const commitment = options.commitment ?? DEFAULT_CONFIRMATION_COMMITMENT;
35
- const timeoutMs = options.timeoutMs ?? DEFAULT_CONFIRMATION_TIMEOUT_MS;
36
- let elapsedMs = 0;
37
- try {
38
- while (elapsedMs < timeoutMs) {
39
- const response = await client.rpc.getSignatureStatuses([signature]).send();
40
- const [status] = response.value;
41
- if (!status) {
42
- throw new Error(`Transaction ${signature} was not found.`);
43
- }
44
- if (status.err) {
45
- throw errors.createSolanaError(
46
- "RPC_FAILURE",
47
- `Transaction ${signature} failed to reach ${commitment} commitment.`,
48
- { cause: status.err }
49
- );
50
- }
51
- if (hasReachedCommitment(status.confirmationStatus, commitment)) {
52
- return { signature, commitment, status };
53
- }
54
- await wait(SIGNATURE_STATUS_POLL_INTERVAL_MS);
55
- elapsedMs += SIGNATURE_STATUS_POLL_INTERVAL_MS;
56
- }
57
- throw errors.createSolanaError(
58
- "TRANSACTION_TIMEOUT",
59
- `Timed out waiting for transaction ${signature} to reach ${commitment} commitment.`
60
- );
61
- } catch (cause) {
62
- throw errors.normalizeSolanaError(cause, "RPC_FAILURE");
63
- }
64
- }
65
- function toBase64WireTransaction(transaction) {
66
- return kit.getBase64EncodedWireTransaction(kit.getTransactionDecoder().decode(transaction));
67
- }
68
- function hasReachedCommitment(actualStatus, targetCommitment) {
69
- if (!actualStatus) {
70
- return false;
71
- }
72
- return (COMMITMENT_RANK[actualStatus] ?? 0) >= (COMMITMENT_RANK[targetCommitment] ?? 0);
73
- }
74
- function wait(ms) {
75
- return new Promise((resolve) => {
76
- setTimeout(resolve, ms);
77
- });
78
- }
79
-
80
- exports.confirmTransactionSignature = confirmTransactionSignature;
81
- exports.signAndSendTransaction = signAndSendTransaction;
@@ -1,18 +0,0 @@
1
- import { Signature } from '@solana/kit';
2
- import { b as SolanaClient, C as ConfirmTransactionOptions, T as TransactionConfirmation, k as SolanaWallet, j as SolanaTransaction, S as SendTransactionOptions } from './shared/core.C9vxHRXl.cjs';
3
- import '@solana/kit-plugin-rpc';
4
-
5
- /**
6
- * Sign and send a transaction through a connected wallet.
7
- *
8
- * Walks through the supported kit RPC path: the wallet signs the raw wire
9
- * transaction, and the client sends it via `client.rpc.sendTransaction`.
10
- */
11
- declare function signAndSendTransaction(client: SolanaClient, wallet: SolanaWallet, transaction: SolanaTransaction, options?: SendTransactionOptions): Promise<Signature>;
12
- /**
13
- * Confirm a transaction signature against the kit RPC until it reaches the
14
- * requested commitment.
15
- */
16
- declare function confirmTransactionSignature(client: SolanaClient, signature: Signature, options?: ConfirmTransactionOptions): Promise<TransactionConfirmation>;
17
-
18
- export { confirmTransactionSignature, signAndSendTransaction };
package/dist/types.cjs DELETED
@@ -1,2 +0,0 @@
1
- 'use strict';
2
-
package/dist/types.d.cts DELETED
@@ -1,3 +0,0 @@
1
- import '@solana/kit';
2
- export { C as ConfirmTransactionOptions, S as SendTransactionOptions, a as SolanaChain, c as SolanaCluster, d as SolanaConfig, e as SolanaContext, f as SolanaSignInAccount, g as SolanaSignInInput, h as SolanaSignInResult, i as SolanaSignMessageResult, j as SolanaTransaction, k as SolanaWallet, l as SolanaWalletInfo, T as TransactionConfirmation, m as TransactionStatus } from './shared/core.C9vxHRXl.cjs';
3
- import '@solana/kit-plugin-rpc';
@@ -1,17 +0,0 @@
1
- 'use strict';
2
-
3
- const discovery = require('./shared/core.CasnoavM.cjs');
4
- require('@wallet-standard/features');
5
- require('@solana/wallet-standard-features');
6
- require('bs58');
7
- require('@wallet-standard/app');
8
-
9
-
10
-
11
- exports.SOLANA_CHAINS = discovery.SOLANA_CHAINS;
12
- exports.SOLANA_MOBILE_WALLET_ADAPTER_WALLET_NAME = discovery.SOLANA_MOBILE_WALLET_ADAPTER_WALLET_NAME;
13
- exports.adaptSolanaStandardWallet = discovery.adaptSolanaStandardWallet;
14
- exports.getRegisteredSolanaWallets = discovery.getRegisteredSolanaWallets;
15
- exports.getSolanaChain = discovery.getSolanaChain;
16
- exports.isSolanaStandardWallet = discovery.isSolanaStandardWallet;
17
- exports.subscribeSolanaWallets = discovery.subscribeSolanaWallets;
@@ -1,22 +0,0 @@
1
- import { WalletAccount, Wallet } from '@wallet-standard/base';
2
- import { a as SolanaChain, l as SolanaWalletInfo, k as SolanaWallet, c as SolanaCluster } from './shared/core.C9vxHRXl.cjs';
3
- import '@solana/kit-plugin-rpc';
4
- import '@solana/kit';
5
-
6
- interface AdaptSolanaWalletOptions {
7
- chain?: SolanaChain;
8
- account?: WalletAccount;
9
- onChange?: () => void;
10
- }
11
- declare function adaptSolanaStandardWallet(walletInfo: SolanaWalletInfo, options?: AdaptSolanaWalletOptions): SolanaWallet;
12
-
13
- declare const SOLANA_CHAINS: readonly SolanaChain[];
14
- declare function getSolanaChain(cluster: SolanaCluster): SolanaChain;
15
-
16
- declare const SOLANA_MOBILE_WALLET_ADAPTER_WALLET_NAME = "Mobile Wallet Adapter";
17
- declare function isSolanaStandardWallet(wallet: Wallet): boolean;
18
- declare function getRegisteredSolanaWallets(): SolanaWalletInfo[];
19
- declare function subscribeSolanaWallets(listener: () => void): () => void;
20
-
21
- export { SOLANA_CHAINS, SOLANA_MOBILE_WALLET_ADAPTER_WALLET_NAME, adaptSolanaStandardWallet, getRegisteredSolanaWallets, getSolanaChain, isSolanaStandardWallet, subscribeSolanaWallets };
22
- export type { AdaptSolanaWalletOptions };
package/dist/wallet.cjs DELETED
@@ -1,81 +0,0 @@
1
- 'use strict';
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
- }
14
- function isWalletConnected(wallet) {
15
- return Boolean(wallet?.connected && wallet.publicKey);
16
- }
17
- function assertWalletConnected(wallet) {
18
- if (!isWalletConnected(wallet)) {
19
- throw new SolanaWalletError("WALLET_NOT_CONNECTED", "Solana wallet is not connected");
20
- }
21
- }
22
- function assertWalletCanSign(wallet) {
23
- assertWalletConnected(wallet);
24
- if (!wallet.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
- );
40
- }
41
- }
42
- function assertWalletCanSignIn(wallet) {
43
- assertWalletConnected(wallet);
44
- if (!wallet.signIn) {
45
- throw new SolanaWalletError(
46
- "WALLET_FEATURE_UNSUPPORTED",
47
- "Solana wallet does not support signIn (Sign In With Solana)",
48
- { feature: "signIn" }
49
- );
50
- }
51
- }
52
- function assertWalletCanSignTransactions(wallet) {
53
- assertWalletConnected(wallet);
54
- if (!wallet.signTransactions && !wallet.signAllTransactions) {
55
- throw new SolanaWalletError(
56
- "WALLET_FEATURE_UNSUPPORTED",
57
- "Solana wallet does not support signTransactions",
58
- { feature: "signTransactions" }
59
- );
60
- }
61
- }
62
- function assertWalletCanSignAndSendTransactions(wallet) {
63
- assertWalletConnected(wallet);
64
- if (!wallet.signAndSendTransactions && !wallet.signAndSendTransaction) {
65
- throw new SolanaWalletError(
66
- "WALLET_FEATURE_UNSUPPORTED",
67
- "Solana wallet does not support signAndSendTransactions",
68
- { feature: "signAndSendTransactions" }
69
- );
70
- }
71
- }
72
-
73
- exports.SolanaWalletError = SolanaWalletError;
74
- exports.assertWalletCanSign = assertWalletCanSign;
75
- exports.assertWalletCanSignAndSendTransactions = assertWalletCanSignAndSendTransactions;
76
- exports.assertWalletCanSignIn = assertWalletCanSignIn;
77
- exports.assertWalletCanSignMessage = assertWalletCanSignMessage;
78
- exports.assertWalletCanSignTransactions = assertWalletCanSignTransactions;
79
- exports.assertWalletConnected = assertWalletConnected;
80
- exports.createNoWalletSelectedError = createNoWalletSelectedError;
81
- exports.isWalletConnected = isWalletConnected;
package/dist/wallet.d.cts DELETED
@@ -1,25 +0,0 @@
1
- import { k as SolanaWallet } from './shared/core.C9vxHRXl.cjs';
2
- import { SolanaError } from './errors.cjs';
3
- import '@solana/kit-plugin-rpc';
4
- import '@solana/kit';
5
-
6
- type SolanaWalletErrorCode = "NO_WALLET_SELECTED" | "WALLET_NOT_CONNECTED" | "WALLET_FEATURE_UNSUPPORTED";
7
- declare class SolanaWalletError extends SolanaError {
8
- constructor(code: SolanaWalletErrorCode, message: string, options?: {
9
- cause?: unknown;
10
- feature?: string;
11
- });
12
- }
13
- declare function createNoWalletSelectedError(cause?: unknown): SolanaWalletError;
14
- declare function isWalletConnected(wallet: Pick<SolanaWallet, "connected" | "publicKey"> | null | undefined): boolean;
15
- declare function assertWalletConnected(wallet: SolanaWallet | null | undefined): asserts wallet is SolanaWallet & {
16
- publicKey: NonNullable<SolanaWallet["publicKey"]>;
17
- };
18
- declare function assertWalletCanSign(wallet: SolanaWallet | null | undefined): asserts wallet is SolanaWallet & Required<Pick<SolanaWallet, "signTransaction">>;
19
- declare function assertWalletCanSignMessage(wallet: SolanaWallet | null | undefined): asserts wallet is SolanaWallet & Required<Pick<SolanaWallet, "signMessage">>;
20
- declare function assertWalletCanSignIn(wallet: SolanaWallet | null | undefined): asserts wallet is SolanaWallet & Required<Pick<SolanaWallet, "signIn">>;
21
- declare function assertWalletCanSignTransactions(wallet: SolanaWallet | null | undefined): asserts wallet is SolanaWallet & Required<Pick<SolanaWallet, "signTransactions">>;
22
- declare function assertWalletCanSignAndSendTransactions(wallet: SolanaWallet | null | undefined): asserts wallet is SolanaWallet & Required<Pick<SolanaWallet, "signAndSendTransactions">>;
23
-
24
- export { SolanaWalletError, assertWalletCanSign, assertWalletCanSignAndSendTransactions, assertWalletCanSignIn, assertWalletCanSignMessage, assertWalletCanSignTransactions, assertWalletConnected, createNoWalletSelectedError, isWalletConnected };
25
- export type { SolanaWalletErrorCode };