@vue-solana/core 2.6.1 → 3.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.
- package/README.md +6 -4
- package/dist/index.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.mjs +4 -3
- package/dist/ios-wallet.mjs +1 -1
- package/dist/kit.d.mts +1 -1
- package/dist/kit.d.ts +1 -1
- package/dist/kit.mjs +4 -4
- package/dist/shared/{core.TqudP0hB.mjs → core.DaUlAmcN.mjs} +15 -22
- package/dist/shared/{core.CDVW-ApZ.mjs → core.DuQGQqnc.mjs} +29 -26
- package/dist/timeout.mjs +3 -0
- package/dist/wallet-standard.mjs +1 -1
- package/dist/wallet.mjs +26 -39
- package/package.json +18 -35
- package/dist/action.cjs +0 -14
- package/dist/action.d.cts +0 -28
- package/dist/address.cjs +0 -33
- package/dist/address.d.cts +0 -16
- package/dist/buffer-polyfill.cjs +0 -12
- package/dist/buffer-polyfill.d.cts +0 -7
- package/dist/clusters.cjs +0 -37
- package/dist/clusters.d.cts +0 -10
- package/dist/errors.cjs +0 -50
- package/dist/errors.d.cts +0 -17
- package/dist/index.cjs +0 -94
- package/dist/index.d.cts +0 -19
- package/dist/ios-wallet.cjs +0 -17
- package/dist/ios-wallet.d.cts +0 -62
- package/dist/kit.cjs +0 -88
- package/dist/kit.d.cts +0 -3
- package/dist/mobile-wallet.cjs +0 -69
- package/dist/mobile-wallet.d.cts +0 -20
- package/dist/rpc.cjs +0 -20
- package/dist/rpc.d.cts +0 -7
- package/dist/shared/core.C9vxHRXl.d.cts +0 -193
- package/dist/shared/core.CasnoavM.cjs +0 -323
- package/dist/shared/core.eIBHqmLq.cjs +0 -598
- package/dist/timeout.cjs +0 -32
- package/dist/timeout.d.cts +0 -4
- package/dist/token-accounts.cjs +0 -72
- package/dist/token-accounts.d.cts +0 -36
- package/dist/transaction.cjs +0 -81
- package/dist/transaction.d.cts +0 -18
- package/dist/types.cjs +0 -2
- package/dist/types.d.cts +0 -3
- package/dist/wallet-standard.cjs +0 -17
- package/dist/wallet-standard.d.cts +0 -22
- package/dist/wallet.cjs +0 -81
- 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 };
|
package/dist/transaction.cjs
DELETED
|
@@ -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;
|
package/dist/transaction.d.cts
DELETED
|
@@ -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
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';
|
package/dist/wallet-standard.cjs
DELETED
|
@@ -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 };
|