@solana/kit-plugins 0.3.1 → 0.5.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/index.browser.cjs +3 -3
- package/dist/index.browser.cjs.map +1 -1
- package/dist/index.browser.mjs +4 -4
- package/dist/index.browser.mjs.map +1 -1
- package/dist/index.node.cjs +3 -3
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.mjs +4 -4
- package/dist/index.node.mjs.map +1 -1
- package/dist/index.react-native.mjs +4 -4
- package/dist/index.react-native.mjs.map +1 -1
- package/dist/types/defaults.d.ts +4 -42
- package/dist/types/defaults.d.ts.map +1 -1
- package/package.json +5 -5
package/dist/index.browser.cjs
CHANGED
|
@@ -9,13 +9,13 @@ var kit = require('@solana/kit');
|
|
|
9
9
|
|
|
10
10
|
// src/index.ts
|
|
11
11
|
function createDefaultRpcClient(config) {
|
|
12
|
-
return kit.createEmptyClient().use(kitPluginRpc.rpc(config.url, config.rpcSubscriptionsConfig)).use(kitPluginPayer.payer(config.payer)).use(kitPluginInstructionPlan.defaultTransactionPlannerAndExecutorFromRpc()).use(kitPluginInstructionPlan.
|
|
12
|
+
return kit.createEmptyClient().use(kitPluginRpc.rpc(config.url, config.rpcSubscriptionsConfig)).use(kitPluginPayer.payer(config.payer)).use(kitPluginInstructionPlan.defaultTransactionPlannerAndExecutorFromRpc()).use(kitPluginInstructionPlan.planAndSendTransactions());
|
|
13
13
|
}
|
|
14
14
|
function createDefaultLocalhostRpcClient(config = {}) {
|
|
15
|
-
return kit.createEmptyClient().use(kitPluginRpc.localhostRpc(config.url, config.rpcSubscriptionsConfig)).use(kitPluginAirdrop.airdrop()).use(payerOrGeneratedPayer(config.payer)).use(kitPluginInstructionPlan.defaultTransactionPlannerAndExecutorFromRpc()).use(kitPluginInstructionPlan.
|
|
15
|
+
return kit.createEmptyClient().use(kitPluginRpc.localhostRpc(config.url, config.rpcSubscriptionsConfig)).use(kitPluginAirdrop.airdrop()).use(payerOrGeneratedPayer(config.payer)).use(kitPluginInstructionPlan.defaultTransactionPlannerAndExecutorFromRpc()).use(kitPluginInstructionPlan.planAndSendTransactions());
|
|
16
16
|
}
|
|
17
17
|
function createDefaultLiteSVMClient(config = {}) {
|
|
18
|
-
return kit.createEmptyClient().use(kitPluginLitesvm.litesvm()).use(kitPluginAirdrop.airdrop()).use(payerOrGeneratedPayer(config.payer)).use(kitPluginInstructionPlan.defaultTransactionPlannerAndExecutorFromLitesvm()).use(kitPluginInstructionPlan.
|
|
18
|
+
return kit.createEmptyClient().use(kitPluginLitesvm.litesvm()).use(kitPluginAirdrop.airdrop()).use(payerOrGeneratedPayer(config.payer)).use(kitPluginInstructionPlan.defaultTransactionPlannerAndExecutorFromLitesvm()).use(kitPluginInstructionPlan.planAndSendTransactions());
|
|
19
19
|
}
|
|
20
20
|
function payerOrGeneratedPayer(explicitPayer) {
|
|
21
21
|
return (client) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/defaults.ts"],"names":["createEmptyClient","rpc","payer","defaultTransactionPlannerAndExecutorFromRpc","
|
|
1
|
+
{"version":3,"sources":["../src/defaults.ts"],"names":["createEmptyClient","rpc","payer","defaultTransactionPlannerAndExecutorFromRpc","planAndSendTransactions","localhostRpc","airdrop","litesvm","defaultTransactionPlannerAndExecutorFromLitesvm","generatedPayerWithSol","lamports"],"mappings":";;;;;;;;;;AA2CO,SAAS,uBAAuD,MAAA,EAIpE;AACC,EAAA,OAAOA,qBAAA,GACF,GAAA,CAAIC,gBAAA,CAAiB,OAAO,GAAA,EAAK,MAAA,CAAO,sBAAsB,CAAC,CAAA,CAC/D,GAAA,CAAIC,qBAAM,MAAA,CAAO,KAAK,CAAC,CAAA,CACvB,GAAA,CAAIC,sEAA6C,CAAA,CACjD,GAAA,CAAIC,gDAAA,EAAyB,CAAA;AACtC;AAkCO,SAAS,+BAAA,CACZ,MAAA,GAAgG,EAAC,EACnG;AACE,EAAA,OAAOJ,qBAAA,EAAkB,CACpB,GAAA,CAAIK,yBAAA,CAAa,MAAA,CAAO,GAAA,EAAK,MAAA,CAAO,sBAAsB,CAAC,CAAA,CAC3D,GAAA,CAAIC,wBAAA,EAAS,EACb,GAAA,CAAI,qBAAA,CAAsB,MAAA,CAAO,KAAK,CAAC,CAAA,CACvC,GAAA,CAAIH,oEAAA,EAA6C,CAAA,CACjD,GAAA,CAAIC,gDAAA,EAAyB,CAAA;AACtC;AAsCO,SAAS,0BAAA,CAA2B,MAAA,GAAwC,EAAC,EAAG;AACnF,EAAA,OAAOJ,qBAAA,GACF,GAAA,CAAIO,wBAAA,EAAS,CAAA,CACb,GAAA,CAAID,wBAAA,EAAS,CAAA,CACb,GAAA,CAAI,sBAAsB,MAAA,CAAO,KAAK,CAAC,CAAA,CACvC,GAAA,CAAIE,0EAAiD,CAAA,CACrD,GAAA,CAAIJ,gDAAA,EAAyB,CAAA;AACtC;AAMA,SAAS,sBAAsB,aAAA,EAA8C;AACzE,EAAA,OAAO,CAA8B,MAAA,KAAyD;AAC1F,IAAA,IAAI,aAAA,EAAe;AACf,MAAA,OAAO,QAAQ,OAAA,CAAQF,oBAAA,CAAM,aAAa,CAAA,CAAE,MAAM,CAAC,CAAA;AAAA,IACvD;AACA,IAAA,OAAOO,oCAAA,CAAsBC,YAAA,CAAS,aAAgB,CAAC,EAAE,MAAM,CAAA;AAAA,EACnE,CAAA;AACJ","file":"index.browser.cjs","sourcesContent":["import {\n ClientWithAirdrop,\n ClusterUrl,\n createEmptyClient,\n DefaultRpcSubscriptionsChannelConfig,\n lamports,\n TransactionSigner,\n} from '@solana/kit';\nimport { airdrop } from '@solana/kit-plugin-airdrop';\nimport {\n defaultTransactionPlannerAndExecutorFromLitesvm,\n defaultTransactionPlannerAndExecutorFromRpc,\n planAndSendTransactions,\n} from '@solana/kit-plugin-instruction-plan';\nimport { litesvm } from '@solana/kit-plugin-litesvm';\nimport { generatedPayerWithSol, payer } from '@solana/kit-plugin-payer';\nimport { localhostRpc, rpc } from '@solana/kit-plugin-rpc';\n\n/**\n * Creates a default RPC client with all essential plugins configured.\n *\n * This function sets up a client with RPC capabilities, payer configuration,\n * transaction planning and execution, and instruction plan sending functionality.\n * It's designed for production use with real Solana clusters.\n *\n * @param config - Configuration object containing the payer, URL, and optional RPC subscriptions config.\n * @returns A fully configured default client ready for transaction operations.\n *\n * @example\n * ```ts\n * import { createDefaultRpcClient } from '@solana/kit-plugins';\n * import { generateKeyPairSigner } from '@solana/kit';\n *\n * const payer = await generateKeyPairSigner();\n * const client = createDefaultRpcClient({\n * url: 'https://api.mainnet-beta.solana.com',\n * payer,\n * });\n *\n * // Use the client\n * const result = await client.sendTransaction([myInstruction]);\n * ```\n */\nexport function createDefaultRpcClient<TClusterUrl extends ClusterUrl>(config: {\n payer: TransactionSigner;\n rpcSubscriptionsConfig?: DefaultRpcSubscriptionsChannelConfig<TClusterUrl>;\n url: TClusterUrl;\n}) {\n return createEmptyClient()\n .use(rpc<TClusterUrl>(config.url, config.rpcSubscriptionsConfig))\n .use(payer(config.payer))\n .use(defaultTransactionPlannerAndExecutorFromRpc())\n .use(planAndSendTransactions());\n}\n\n/**\n * Creates a default RPC client configured for localhost development.\n *\n * This function sets up a client connected to a local validator with airdrop\n * functionality, automatic payer generation (if not provided), and all essential\n * transaction capabilities. Perfect for local development and testing.\n *\n * @param config - Optional configuration object with an optional payer.\n * @returns A fully configured client ready for localhost development.\n *\n * @example\n * ```ts\n * import { createDefaultLocalhostRpcClient } from '@solana/kit-plugins';\n *\n * // Creates a client with auto-generated and funded payer\n * const client = await createDefaultLocalhostRpcClient();\n *\n * // Use the client\n * const result = await client.sendTransaction([myInstruction]);\n * console.log('Payer address:', client.payer.address);\n * ```\n *\n * @example\n * Using a custom payer.\n * ```ts\n * import { createDefaultLocalhostRpcClient } from '@solana/kit-plugins';\n * import { generateKeyPairSigner } from '@solana/kit';\n *\n * const customPayer = await generateKeyPairSigner();\n * const client = await createDefaultLocalhostRpcClient({ payer: customPayer });\n * ```\n */\nexport function createDefaultLocalhostRpcClient(\n config: { payer?: TransactionSigner; rpcSubscriptionsConfig?: { url: string }; url?: string } = {},\n) {\n return createEmptyClient()\n .use(localhostRpc(config.url, config.rpcSubscriptionsConfig))\n .use(airdrop())\n .use(payerOrGeneratedPayer(config.payer))\n .use(defaultTransactionPlannerAndExecutorFromRpc())\n .use(planAndSendTransactions());\n}\n\n/**\n * Creates a default LiteSVM client for local blockchain simulation.\n *\n * This function sets up a client with an embedded LiteSVM instance for fast\n * local blockchain simulation, airdrop functionality, automatic payer generation\n * (if not provided), and all essential transaction capabilities. Ideal for testing\n * and development without requiring a live network connection.\n *\n * @param config - Optional configuration object with an optional payer.\n * @returns A fully configured client ready for local blockchain simulation.\n *\n * @example\n * ```ts\n * import { createDefaultLiteSVMClient } from '@solana/kit-plugins';\n *\n * // Creates a client with auto-generated and funded payer\n * const client = await createDefaultLiteSVMClient();\n *\n * // Set up accounts and programs\n * client.svm.setAccount(myAccount);\n * client.svm.addProgramFromFile(myProgramAddress, 'program.so');\n *\n * // Use the client\n * const result = await client.sendTransaction([myInstruction]);\n * ```\n *\n * @example\n * Using a custom payer.\n * ```ts\n * import { createDefaultLiteSVMClient } from '@solana/kit-plugins';\n * import { generateKeyPairSigner } from '@solana/kit';\n *\n * const customPayer = await generateKeyPairSigner();\n * const client = await createDefaultLiteSVMClient({ payer: customPayer });\n * ```\n */\nexport function createDefaultLiteSVMClient(config: { payer?: TransactionSigner } = {}) {\n return createEmptyClient()\n .use(litesvm())\n .use(airdrop())\n .use(payerOrGeneratedPayer(config.payer))\n .use(defaultTransactionPlannerAndExecutorFromLitesvm())\n .use(planAndSendTransactions());\n}\n\n/**\n * Helper function that uses the provided payer if any,\n * otherwise generates a new payer and funds it with 100 SOL.\n */\nfunction payerOrGeneratedPayer(explicitPayer: TransactionSigner | undefined) {\n return <T extends ClientWithAirdrop>(client: T): Promise<T & { payer: TransactionSigner }> => {\n if (explicitPayer) {\n return Promise.resolve(payer(explicitPayer)(client));\n }\n return generatedPayerWithSol(lamports(100_000_000_000n))(client);\n };\n}\n"]}
|
package/dist/index.browser.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { airdrop } from '@solana/kit-plugin-airdrop';
|
|
2
2
|
export * from '@solana/kit-plugin-airdrop';
|
|
3
|
-
import { defaultTransactionPlannerAndExecutorFromRpc,
|
|
3
|
+
import { defaultTransactionPlannerAndExecutorFromRpc, planAndSendTransactions, defaultTransactionPlannerAndExecutorFromLitesvm } from '@solana/kit-plugin-instruction-plan';
|
|
4
4
|
export * from '@solana/kit-plugin-instruction-plan';
|
|
5
5
|
import { litesvm } from '@solana/kit-plugin-litesvm';
|
|
6
6
|
export * from '@solana/kit-plugin-litesvm';
|
|
@@ -12,13 +12,13 @@ import { createEmptyClient, lamports } from '@solana/kit';
|
|
|
12
12
|
|
|
13
13
|
// src/index.ts
|
|
14
14
|
function createDefaultRpcClient(config) {
|
|
15
|
-
return createEmptyClient().use(rpc(config.url, config.rpcSubscriptionsConfig)).use(payer(config.payer)).use(defaultTransactionPlannerAndExecutorFromRpc()).use(
|
|
15
|
+
return createEmptyClient().use(rpc(config.url, config.rpcSubscriptionsConfig)).use(payer(config.payer)).use(defaultTransactionPlannerAndExecutorFromRpc()).use(planAndSendTransactions());
|
|
16
16
|
}
|
|
17
17
|
function createDefaultLocalhostRpcClient(config = {}) {
|
|
18
|
-
return createEmptyClient().use(localhostRpc(config.url, config.rpcSubscriptionsConfig)).use(airdrop()).use(payerOrGeneratedPayer(config.payer)).use(defaultTransactionPlannerAndExecutorFromRpc()).use(
|
|
18
|
+
return createEmptyClient().use(localhostRpc(config.url, config.rpcSubscriptionsConfig)).use(airdrop()).use(payerOrGeneratedPayer(config.payer)).use(defaultTransactionPlannerAndExecutorFromRpc()).use(planAndSendTransactions());
|
|
19
19
|
}
|
|
20
20
|
function createDefaultLiteSVMClient(config = {}) {
|
|
21
|
-
return createEmptyClient().use(litesvm()).use(airdrop()).use(payerOrGeneratedPayer(config.payer)).use(defaultTransactionPlannerAndExecutorFromLitesvm()).use(
|
|
21
|
+
return createEmptyClient().use(litesvm()).use(airdrop()).use(payerOrGeneratedPayer(config.payer)).use(defaultTransactionPlannerAndExecutorFromLitesvm()).use(planAndSendTransactions());
|
|
22
22
|
}
|
|
23
23
|
function payerOrGeneratedPayer(explicitPayer) {
|
|
24
24
|
return (client) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/defaults.ts"],"names":[],"mappings":";;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../src/defaults.ts"],"names":[],"mappings":";;;;;;;;;;;;;AA2CO,SAAS,uBAAuD,MAAA,EAIpE;AACC,EAAA,OAAO,iBAAA,GACF,GAAA,CAAI,GAAA,CAAiB,OAAO,GAAA,EAAK,MAAA,CAAO,sBAAsB,CAAC,CAAA,CAC/D,GAAA,CAAI,MAAM,MAAA,CAAO,KAAK,CAAC,CAAA,CACvB,GAAA,CAAI,6CAA6C,CAAA,CACjD,GAAA,CAAI,uBAAA,EAAyB,CAAA;AACtC;AAkCO,SAAS,+BAAA,CACZ,MAAA,GAAgG,EAAC,EACnG;AACE,EAAA,OAAO,iBAAA,EAAkB,CACpB,GAAA,CAAI,YAAA,CAAa,MAAA,CAAO,GAAA,EAAK,MAAA,CAAO,sBAAsB,CAAC,CAAA,CAC3D,GAAA,CAAI,OAAA,EAAS,EACb,GAAA,CAAI,qBAAA,CAAsB,MAAA,CAAO,KAAK,CAAC,CAAA,CACvC,GAAA,CAAI,2CAAA,EAA6C,CAAA,CACjD,GAAA,CAAI,uBAAA,EAAyB,CAAA;AACtC;AAsCO,SAAS,0BAAA,CAA2B,MAAA,GAAwC,EAAC,EAAG;AACnF,EAAA,OAAO,iBAAA,GACF,GAAA,CAAI,OAAA,EAAS,CAAA,CACb,GAAA,CAAI,OAAA,EAAS,CAAA,CACb,GAAA,CAAI,sBAAsB,MAAA,CAAO,KAAK,CAAC,CAAA,CACvC,GAAA,CAAI,iDAAiD,CAAA,CACrD,GAAA,CAAI,uBAAA,EAAyB,CAAA;AACtC;AAMA,SAAS,sBAAsB,aAAA,EAA8C;AACzE,EAAA,OAAO,CAA8B,MAAA,KAAyD;AAC1F,IAAA,IAAI,aAAA,EAAe;AACf,MAAA,OAAO,QAAQ,OAAA,CAAQ,KAAA,CAAM,aAAa,CAAA,CAAE,MAAM,CAAC,CAAA;AAAA,IACvD;AACA,IAAA,OAAO,qBAAA,CAAsB,QAAA,CAAS,aAAgB,CAAC,EAAE,MAAM,CAAA;AAAA,EACnE,CAAA;AACJ","file":"index.browser.mjs","sourcesContent":["import {\n ClientWithAirdrop,\n ClusterUrl,\n createEmptyClient,\n DefaultRpcSubscriptionsChannelConfig,\n lamports,\n TransactionSigner,\n} from '@solana/kit';\nimport { airdrop } from '@solana/kit-plugin-airdrop';\nimport {\n defaultTransactionPlannerAndExecutorFromLitesvm,\n defaultTransactionPlannerAndExecutorFromRpc,\n planAndSendTransactions,\n} from '@solana/kit-plugin-instruction-plan';\nimport { litesvm } from '@solana/kit-plugin-litesvm';\nimport { generatedPayerWithSol, payer } from '@solana/kit-plugin-payer';\nimport { localhostRpc, rpc } from '@solana/kit-plugin-rpc';\n\n/**\n * Creates a default RPC client with all essential plugins configured.\n *\n * This function sets up a client with RPC capabilities, payer configuration,\n * transaction planning and execution, and instruction plan sending functionality.\n * It's designed for production use with real Solana clusters.\n *\n * @param config - Configuration object containing the payer, URL, and optional RPC subscriptions config.\n * @returns A fully configured default client ready for transaction operations.\n *\n * @example\n * ```ts\n * import { createDefaultRpcClient } from '@solana/kit-plugins';\n * import { generateKeyPairSigner } from '@solana/kit';\n *\n * const payer = await generateKeyPairSigner();\n * const client = createDefaultRpcClient({\n * url: 'https://api.mainnet-beta.solana.com',\n * payer,\n * });\n *\n * // Use the client\n * const result = await client.sendTransaction([myInstruction]);\n * ```\n */\nexport function createDefaultRpcClient<TClusterUrl extends ClusterUrl>(config: {\n payer: TransactionSigner;\n rpcSubscriptionsConfig?: DefaultRpcSubscriptionsChannelConfig<TClusterUrl>;\n url: TClusterUrl;\n}) {\n return createEmptyClient()\n .use(rpc<TClusterUrl>(config.url, config.rpcSubscriptionsConfig))\n .use(payer(config.payer))\n .use(defaultTransactionPlannerAndExecutorFromRpc())\n .use(planAndSendTransactions());\n}\n\n/**\n * Creates a default RPC client configured for localhost development.\n *\n * This function sets up a client connected to a local validator with airdrop\n * functionality, automatic payer generation (if not provided), and all essential\n * transaction capabilities. Perfect for local development and testing.\n *\n * @param config - Optional configuration object with an optional payer.\n * @returns A fully configured client ready for localhost development.\n *\n * @example\n * ```ts\n * import { createDefaultLocalhostRpcClient } from '@solana/kit-plugins';\n *\n * // Creates a client with auto-generated and funded payer\n * const client = await createDefaultLocalhostRpcClient();\n *\n * // Use the client\n * const result = await client.sendTransaction([myInstruction]);\n * console.log('Payer address:', client.payer.address);\n * ```\n *\n * @example\n * Using a custom payer.\n * ```ts\n * import { createDefaultLocalhostRpcClient } from '@solana/kit-plugins';\n * import { generateKeyPairSigner } from '@solana/kit';\n *\n * const customPayer = await generateKeyPairSigner();\n * const client = await createDefaultLocalhostRpcClient({ payer: customPayer });\n * ```\n */\nexport function createDefaultLocalhostRpcClient(\n config: { payer?: TransactionSigner; rpcSubscriptionsConfig?: { url: string }; url?: string } = {},\n) {\n return createEmptyClient()\n .use(localhostRpc(config.url, config.rpcSubscriptionsConfig))\n .use(airdrop())\n .use(payerOrGeneratedPayer(config.payer))\n .use(defaultTransactionPlannerAndExecutorFromRpc())\n .use(planAndSendTransactions());\n}\n\n/**\n * Creates a default LiteSVM client for local blockchain simulation.\n *\n * This function sets up a client with an embedded LiteSVM instance for fast\n * local blockchain simulation, airdrop functionality, automatic payer generation\n * (if not provided), and all essential transaction capabilities. Ideal for testing\n * and development without requiring a live network connection.\n *\n * @param config - Optional configuration object with an optional payer.\n * @returns A fully configured client ready for local blockchain simulation.\n *\n * @example\n * ```ts\n * import { createDefaultLiteSVMClient } from '@solana/kit-plugins';\n *\n * // Creates a client with auto-generated and funded payer\n * const client = await createDefaultLiteSVMClient();\n *\n * // Set up accounts and programs\n * client.svm.setAccount(myAccount);\n * client.svm.addProgramFromFile(myProgramAddress, 'program.so');\n *\n * // Use the client\n * const result = await client.sendTransaction([myInstruction]);\n * ```\n *\n * @example\n * Using a custom payer.\n * ```ts\n * import { createDefaultLiteSVMClient } from '@solana/kit-plugins';\n * import { generateKeyPairSigner } from '@solana/kit';\n *\n * const customPayer = await generateKeyPairSigner();\n * const client = await createDefaultLiteSVMClient({ payer: customPayer });\n * ```\n */\nexport function createDefaultLiteSVMClient(config: { payer?: TransactionSigner } = {}) {\n return createEmptyClient()\n .use(litesvm())\n .use(airdrop())\n .use(payerOrGeneratedPayer(config.payer))\n .use(defaultTransactionPlannerAndExecutorFromLitesvm())\n .use(planAndSendTransactions());\n}\n\n/**\n * Helper function that uses the provided payer if any,\n * otherwise generates a new payer and funds it with 100 SOL.\n */\nfunction payerOrGeneratedPayer(explicitPayer: TransactionSigner | undefined) {\n return <T extends ClientWithAirdrop>(client: T): Promise<T & { payer: TransactionSigner }> => {\n if (explicitPayer) {\n return Promise.resolve(payer(explicitPayer)(client));\n }\n return generatedPayerWithSol(lamports(100_000_000_000n))(client);\n };\n}\n"]}
|
package/dist/index.node.cjs
CHANGED
|
@@ -9,13 +9,13 @@ var kit = require('@solana/kit');
|
|
|
9
9
|
|
|
10
10
|
// src/index.ts
|
|
11
11
|
function createDefaultRpcClient(config) {
|
|
12
|
-
return kit.createEmptyClient().use(kitPluginRpc.rpc(config.url, config.rpcSubscriptionsConfig)).use(kitPluginPayer.payer(config.payer)).use(kitPluginInstructionPlan.defaultTransactionPlannerAndExecutorFromRpc()).use(kitPluginInstructionPlan.
|
|
12
|
+
return kit.createEmptyClient().use(kitPluginRpc.rpc(config.url, config.rpcSubscriptionsConfig)).use(kitPluginPayer.payer(config.payer)).use(kitPluginInstructionPlan.defaultTransactionPlannerAndExecutorFromRpc()).use(kitPluginInstructionPlan.planAndSendTransactions());
|
|
13
13
|
}
|
|
14
14
|
function createDefaultLocalhostRpcClient(config = {}) {
|
|
15
|
-
return kit.createEmptyClient().use(kitPluginRpc.localhostRpc(config.url, config.rpcSubscriptionsConfig)).use(kitPluginAirdrop.airdrop()).use(payerOrGeneratedPayer(config.payer)).use(kitPluginInstructionPlan.defaultTransactionPlannerAndExecutorFromRpc()).use(kitPluginInstructionPlan.
|
|
15
|
+
return kit.createEmptyClient().use(kitPluginRpc.localhostRpc(config.url, config.rpcSubscriptionsConfig)).use(kitPluginAirdrop.airdrop()).use(payerOrGeneratedPayer(config.payer)).use(kitPluginInstructionPlan.defaultTransactionPlannerAndExecutorFromRpc()).use(kitPluginInstructionPlan.planAndSendTransactions());
|
|
16
16
|
}
|
|
17
17
|
function createDefaultLiteSVMClient(config = {}) {
|
|
18
|
-
return kit.createEmptyClient().use(kitPluginLitesvm.litesvm()).use(kitPluginAirdrop.airdrop()).use(payerOrGeneratedPayer(config.payer)).use(kitPluginInstructionPlan.defaultTransactionPlannerAndExecutorFromLitesvm()).use(kitPluginInstructionPlan.
|
|
18
|
+
return kit.createEmptyClient().use(kitPluginLitesvm.litesvm()).use(kitPluginAirdrop.airdrop()).use(payerOrGeneratedPayer(config.payer)).use(kitPluginInstructionPlan.defaultTransactionPlannerAndExecutorFromLitesvm()).use(kitPluginInstructionPlan.planAndSendTransactions());
|
|
19
19
|
}
|
|
20
20
|
function payerOrGeneratedPayer(explicitPayer) {
|
|
21
21
|
return (client) => {
|
package/dist/index.node.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/defaults.ts"],"names":["createEmptyClient","rpc","payer","defaultTransactionPlannerAndExecutorFromRpc","
|
|
1
|
+
{"version":3,"sources":["../src/defaults.ts"],"names":["createEmptyClient","rpc","payer","defaultTransactionPlannerAndExecutorFromRpc","planAndSendTransactions","localhostRpc","airdrop","litesvm","defaultTransactionPlannerAndExecutorFromLitesvm","generatedPayerWithSol","lamports"],"mappings":";;;;;;;;;;AA2CO,SAAS,uBAAuD,MAAA,EAIpE;AACC,EAAA,OAAOA,qBAAA,GACF,GAAA,CAAIC,gBAAA,CAAiB,OAAO,GAAA,EAAK,MAAA,CAAO,sBAAsB,CAAC,CAAA,CAC/D,GAAA,CAAIC,qBAAM,MAAA,CAAO,KAAK,CAAC,CAAA,CACvB,GAAA,CAAIC,sEAA6C,CAAA,CACjD,GAAA,CAAIC,gDAAA,EAAyB,CAAA;AACtC;AAkCO,SAAS,+BAAA,CACZ,MAAA,GAAgG,EAAC,EACnG;AACE,EAAA,OAAOJ,qBAAA,EAAkB,CACpB,GAAA,CAAIK,yBAAA,CAAa,MAAA,CAAO,GAAA,EAAK,MAAA,CAAO,sBAAsB,CAAC,CAAA,CAC3D,GAAA,CAAIC,wBAAA,EAAS,EACb,GAAA,CAAI,qBAAA,CAAsB,MAAA,CAAO,KAAK,CAAC,CAAA,CACvC,GAAA,CAAIH,oEAAA,EAA6C,CAAA,CACjD,GAAA,CAAIC,gDAAA,EAAyB,CAAA;AACtC;AAsCO,SAAS,0BAAA,CAA2B,MAAA,GAAwC,EAAC,EAAG;AACnF,EAAA,OAAOJ,qBAAA,GACF,GAAA,CAAIO,wBAAA,EAAS,CAAA,CACb,GAAA,CAAID,wBAAA,EAAS,CAAA,CACb,GAAA,CAAI,sBAAsB,MAAA,CAAO,KAAK,CAAC,CAAA,CACvC,GAAA,CAAIE,0EAAiD,CAAA,CACrD,GAAA,CAAIJ,gDAAA,EAAyB,CAAA;AACtC;AAMA,SAAS,sBAAsB,aAAA,EAA8C;AACzE,EAAA,OAAO,CAA8B,MAAA,KAAyD;AAC1F,IAAA,IAAI,aAAA,EAAe;AACf,MAAA,OAAO,QAAQ,OAAA,CAAQF,oBAAA,CAAM,aAAa,CAAA,CAAE,MAAM,CAAC,CAAA;AAAA,IACvD;AACA,IAAA,OAAOO,oCAAA,CAAsBC,YAAA,CAAS,aAAgB,CAAC,EAAE,MAAM,CAAA;AAAA,EACnE,CAAA;AACJ","file":"index.node.cjs","sourcesContent":["import {\n ClientWithAirdrop,\n ClusterUrl,\n createEmptyClient,\n DefaultRpcSubscriptionsChannelConfig,\n lamports,\n TransactionSigner,\n} from '@solana/kit';\nimport { airdrop } from '@solana/kit-plugin-airdrop';\nimport {\n defaultTransactionPlannerAndExecutorFromLitesvm,\n defaultTransactionPlannerAndExecutorFromRpc,\n planAndSendTransactions,\n} from '@solana/kit-plugin-instruction-plan';\nimport { litesvm } from '@solana/kit-plugin-litesvm';\nimport { generatedPayerWithSol, payer } from '@solana/kit-plugin-payer';\nimport { localhostRpc, rpc } from '@solana/kit-plugin-rpc';\n\n/**\n * Creates a default RPC client with all essential plugins configured.\n *\n * This function sets up a client with RPC capabilities, payer configuration,\n * transaction planning and execution, and instruction plan sending functionality.\n * It's designed for production use with real Solana clusters.\n *\n * @param config - Configuration object containing the payer, URL, and optional RPC subscriptions config.\n * @returns A fully configured default client ready for transaction operations.\n *\n * @example\n * ```ts\n * import { createDefaultRpcClient } from '@solana/kit-plugins';\n * import { generateKeyPairSigner } from '@solana/kit';\n *\n * const payer = await generateKeyPairSigner();\n * const client = createDefaultRpcClient({\n * url: 'https://api.mainnet-beta.solana.com',\n * payer,\n * });\n *\n * // Use the client\n * const result = await client.sendTransaction([myInstruction]);\n * ```\n */\nexport function createDefaultRpcClient<TClusterUrl extends ClusterUrl>(config: {\n payer: TransactionSigner;\n rpcSubscriptionsConfig?: DefaultRpcSubscriptionsChannelConfig<TClusterUrl>;\n url: TClusterUrl;\n}) {\n return createEmptyClient()\n .use(rpc<TClusterUrl>(config.url, config.rpcSubscriptionsConfig))\n .use(payer(config.payer))\n .use(defaultTransactionPlannerAndExecutorFromRpc())\n .use(planAndSendTransactions());\n}\n\n/**\n * Creates a default RPC client configured for localhost development.\n *\n * This function sets up a client connected to a local validator with airdrop\n * functionality, automatic payer generation (if not provided), and all essential\n * transaction capabilities. Perfect for local development and testing.\n *\n * @param config - Optional configuration object with an optional payer.\n * @returns A fully configured client ready for localhost development.\n *\n * @example\n * ```ts\n * import { createDefaultLocalhostRpcClient } from '@solana/kit-plugins';\n *\n * // Creates a client with auto-generated and funded payer\n * const client = await createDefaultLocalhostRpcClient();\n *\n * // Use the client\n * const result = await client.sendTransaction([myInstruction]);\n * console.log('Payer address:', client.payer.address);\n * ```\n *\n * @example\n * Using a custom payer.\n * ```ts\n * import { createDefaultLocalhostRpcClient } from '@solana/kit-plugins';\n * import { generateKeyPairSigner } from '@solana/kit';\n *\n * const customPayer = await generateKeyPairSigner();\n * const client = await createDefaultLocalhostRpcClient({ payer: customPayer });\n * ```\n */\nexport function createDefaultLocalhostRpcClient(\n config: { payer?: TransactionSigner; rpcSubscriptionsConfig?: { url: string }; url?: string } = {},\n) {\n return createEmptyClient()\n .use(localhostRpc(config.url, config.rpcSubscriptionsConfig))\n .use(airdrop())\n .use(payerOrGeneratedPayer(config.payer))\n .use(defaultTransactionPlannerAndExecutorFromRpc())\n .use(planAndSendTransactions());\n}\n\n/**\n * Creates a default LiteSVM client for local blockchain simulation.\n *\n * This function sets up a client with an embedded LiteSVM instance for fast\n * local blockchain simulation, airdrop functionality, automatic payer generation\n * (if not provided), and all essential transaction capabilities. Ideal for testing\n * and development without requiring a live network connection.\n *\n * @param config - Optional configuration object with an optional payer.\n * @returns A fully configured client ready for local blockchain simulation.\n *\n * @example\n * ```ts\n * import { createDefaultLiteSVMClient } from '@solana/kit-plugins';\n *\n * // Creates a client with auto-generated and funded payer\n * const client = await createDefaultLiteSVMClient();\n *\n * // Set up accounts and programs\n * client.svm.setAccount(myAccount);\n * client.svm.addProgramFromFile(myProgramAddress, 'program.so');\n *\n * // Use the client\n * const result = await client.sendTransaction([myInstruction]);\n * ```\n *\n * @example\n * Using a custom payer.\n * ```ts\n * import { createDefaultLiteSVMClient } from '@solana/kit-plugins';\n * import { generateKeyPairSigner } from '@solana/kit';\n *\n * const customPayer = await generateKeyPairSigner();\n * const client = await createDefaultLiteSVMClient({ payer: customPayer });\n * ```\n */\nexport function createDefaultLiteSVMClient(config: { payer?: TransactionSigner } = {}) {\n return createEmptyClient()\n .use(litesvm())\n .use(airdrop())\n .use(payerOrGeneratedPayer(config.payer))\n .use(defaultTransactionPlannerAndExecutorFromLitesvm())\n .use(planAndSendTransactions());\n}\n\n/**\n * Helper function that uses the provided payer if any,\n * otherwise generates a new payer and funds it with 100 SOL.\n */\nfunction payerOrGeneratedPayer(explicitPayer: TransactionSigner | undefined) {\n return <T extends ClientWithAirdrop>(client: T): Promise<T & { payer: TransactionSigner }> => {\n if (explicitPayer) {\n return Promise.resolve(payer(explicitPayer)(client));\n }\n return generatedPayerWithSol(lamports(100_000_000_000n))(client);\n };\n}\n"]}
|
package/dist/index.node.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { airdrop } from '@solana/kit-plugin-airdrop';
|
|
2
2
|
export * from '@solana/kit-plugin-airdrop';
|
|
3
|
-
import { defaultTransactionPlannerAndExecutorFromRpc,
|
|
3
|
+
import { defaultTransactionPlannerAndExecutorFromRpc, planAndSendTransactions, defaultTransactionPlannerAndExecutorFromLitesvm } from '@solana/kit-plugin-instruction-plan';
|
|
4
4
|
export * from '@solana/kit-plugin-instruction-plan';
|
|
5
5
|
import { litesvm } from '@solana/kit-plugin-litesvm';
|
|
6
6
|
export * from '@solana/kit-plugin-litesvm';
|
|
@@ -12,13 +12,13 @@ import { createEmptyClient, lamports } from '@solana/kit';
|
|
|
12
12
|
|
|
13
13
|
// src/index.ts
|
|
14
14
|
function createDefaultRpcClient(config) {
|
|
15
|
-
return createEmptyClient().use(rpc(config.url, config.rpcSubscriptionsConfig)).use(payer(config.payer)).use(defaultTransactionPlannerAndExecutorFromRpc()).use(
|
|
15
|
+
return createEmptyClient().use(rpc(config.url, config.rpcSubscriptionsConfig)).use(payer(config.payer)).use(defaultTransactionPlannerAndExecutorFromRpc()).use(planAndSendTransactions());
|
|
16
16
|
}
|
|
17
17
|
function createDefaultLocalhostRpcClient(config = {}) {
|
|
18
|
-
return createEmptyClient().use(localhostRpc(config.url, config.rpcSubscriptionsConfig)).use(airdrop()).use(payerOrGeneratedPayer(config.payer)).use(defaultTransactionPlannerAndExecutorFromRpc()).use(
|
|
18
|
+
return createEmptyClient().use(localhostRpc(config.url, config.rpcSubscriptionsConfig)).use(airdrop()).use(payerOrGeneratedPayer(config.payer)).use(defaultTransactionPlannerAndExecutorFromRpc()).use(planAndSendTransactions());
|
|
19
19
|
}
|
|
20
20
|
function createDefaultLiteSVMClient(config = {}) {
|
|
21
|
-
return createEmptyClient().use(litesvm()).use(airdrop()).use(payerOrGeneratedPayer(config.payer)).use(defaultTransactionPlannerAndExecutorFromLitesvm()).use(
|
|
21
|
+
return createEmptyClient().use(litesvm()).use(airdrop()).use(payerOrGeneratedPayer(config.payer)).use(defaultTransactionPlannerAndExecutorFromLitesvm()).use(planAndSendTransactions());
|
|
22
22
|
}
|
|
23
23
|
function payerOrGeneratedPayer(explicitPayer) {
|
|
24
24
|
return (client) => {
|
package/dist/index.node.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/defaults.ts"],"names":[],"mappings":";;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../src/defaults.ts"],"names":[],"mappings":";;;;;;;;;;;;;AA2CO,SAAS,uBAAuD,MAAA,EAIpE;AACC,EAAA,OAAO,iBAAA,GACF,GAAA,CAAI,GAAA,CAAiB,OAAO,GAAA,EAAK,MAAA,CAAO,sBAAsB,CAAC,CAAA,CAC/D,GAAA,CAAI,MAAM,MAAA,CAAO,KAAK,CAAC,CAAA,CACvB,GAAA,CAAI,6CAA6C,CAAA,CACjD,GAAA,CAAI,uBAAA,EAAyB,CAAA;AACtC;AAkCO,SAAS,+BAAA,CACZ,MAAA,GAAgG,EAAC,EACnG;AACE,EAAA,OAAO,iBAAA,EAAkB,CACpB,GAAA,CAAI,YAAA,CAAa,MAAA,CAAO,GAAA,EAAK,MAAA,CAAO,sBAAsB,CAAC,CAAA,CAC3D,GAAA,CAAI,OAAA,EAAS,EACb,GAAA,CAAI,qBAAA,CAAsB,MAAA,CAAO,KAAK,CAAC,CAAA,CACvC,GAAA,CAAI,2CAAA,EAA6C,CAAA,CACjD,GAAA,CAAI,uBAAA,EAAyB,CAAA;AACtC;AAsCO,SAAS,0BAAA,CAA2B,MAAA,GAAwC,EAAC,EAAG;AACnF,EAAA,OAAO,iBAAA,GACF,GAAA,CAAI,OAAA,EAAS,CAAA,CACb,GAAA,CAAI,OAAA,EAAS,CAAA,CACb,GAAA,CAAI,sBAAsB,MAAA,CAAO,KAAK,CAAC,CAAA,CACvC,GAAA,CAAI,iDAAiD,CAAA,CACrD,GAAA,CAAI,uBAAA,EAAyB,CAAA;AACtC;AAMA,SAAS,sBAAsB,aAAA,EAA8C;AACzE,EAAA,OAAO,CAA8B,MAAA,KAAyD;AAC1F,IAAA,IAAI,aAAA,EAAe;AACf,MAAA,OAAO,QAAQ,OAAA,CAAQ,KAAA,CAAM,aAAa,CAAA,CAAE,MAAM,CAAC,CAAA;AAAA,IACvD;AACA,IAAA,OAAO,qBAAA,CAAsB,QAAA,CAAS,aAAgB,CAAC,EAAE,MAAM,CAAA;AAAA,EACnE,CAAA;AACJ","file":"index.node.mjs","sourcesContent":["import {\n ClientWithAirdrop,\n ClusterUrl,\n createEmptyClient,\n DefaultRpcSubscriptionsChannelConfig,\n lamports,\n TransactionSigner,\n} from '@solana/kit';\nimport { airdrop } from '@solana/kit-plugin-airdrop';\nimport {\n defaultTransactionPlannerAndExecutorFromLitesvm,\n defaultTransactionPlannerAndExecutorFromRpc,\n planAndSendTransactions,\n} from '@solana/kit-plugin-instruction-plan';\nimport { litesvm } from '@solana/kit-plugin-litesvm';\nimport { generatedPayerWithSol, payer } from '@solana/kit-plugin-payer';\nimport { localhostRpc, rpc } from '@solana/kit-plugin-rpc';\n\n/**\n * Creates a default RPC client with all essential plugins configured.\n *\n * This function sets up a client with RPC capabilities, payer configuration,\n * transaction planning and execution, and instruction plan sending functionality.\n * It's designed for production use with real Solana clusters.\n *\n * @param config - Configuration object containing the payer, URL, and optional RPC subscriptions config.\n * @returns A fully configured default client ready for transaction operations.\n *\n * @example\n * ```ts\n * import { createDefaultRpcClient } from '@solana/kit-plugins';\n * import { generateKeyPairSigner } from '@solana/kit';\n *\n * const payer = await generateKeyPairSigner();\n * const client = createDefaultRpcClient({\n * url: 'https://api.mainnet-beta.solana.com',\n * payer,\n * });\n *\n * // Use the client\n * const result = await client.sendTransaction([myInstruction]);\n * ```\n */\nexport function createDefaultRpcClient<TClusterUrl extends ClusterUrl>(config: {\n payer: TransactionSigner;\n rpcSubscriptionsConfig?: DefaultRpcSubscriptionsChannelConfig<TClusterUrl>;\n url: TClusterUrl;\n}) {\n return createEmptyClient()\n .use(rpc<TClusterUrl>(config.url, config.rpcSubscriptionsConfig))\n .use(payer(config.payer))\n .use(defaultTransactionPlannerAndExecutorFromRpc())\n .use(planAndSendTransactions());\n}\n\n/**\n * Creates a default RPC client configured for localhost development.\n *\n * This function sets up a client connected to a local validator with airdrop\n * functionality, automatic payer generation (if not provided), and all essential\n * transaction capabilities. Perfect for local development and testing.\n *\n * @param config - Optional configuration object with an optional payer.\n * @returns A fully configured client ready for localhost development.\n *\n * @example\n * ```ts\n * import { createDefaultLocalhostRpcClient } from '@solana/kit-plugins';\n *\n * // Creates a client with auto-generated and funded payer\n * const client = await createDefaultLocalhostRpcClient();\n *\n * // Use the client\n * const result = await client.sendTransaction([myInstruction]);\n * console.log('Payer address:', client.payer.address);\n * ```\n *\n * @example\n * Using a custom payer.\n * ```ts\n * import { createDefaultLocalhostRpcClient } from '@solana/kit-plugins';\n * import { generateKeyPairSigner } from '@solana/kit';\n *\n * const customPayer = await generateKeyPairSigner();\n * const client = await createDefaultLocalhostRpcClient({ payer: customPayer });\n * ```\n */\nexport function createDefaultLocalhostRpcClient(\n config: { payer?: TransactionSigner; rpcSubscriptionsConfig?: { url: string }; url?: string } = {},\n) {\n return createEmptyClient()\n .use(localhostRpc(config.url, config.rpcSubscriptionsConfig))\n .use(airdrop())\n .use(payerOrGeneratedPayer(config.payer))\n .use(defaultTransactionPlannerAndExecutorFromRpc())\n .use(planAndSendTransactions());\n}\n\n/**\n * Creates a default LiteSVM client for local blockchain simulation.\n *\n * This function sets up a client with an embedded LiteSVM instance for fast\n * local blockchain simulation, airdrop functionality, automatic payer generation\n * (if not provided), and all essential transaction capabilities. Ideal for testing\n * and development without requiring a live network connection.\n *\n * @param config - Optional configuration object with an optional payer.\n * @returns A fully configured client ready for local blockchain simulation.\n *\n * @example\n * ```ts\n * import { createDefaultLiteSVMClient } from '@solana/kit-plugins';\n *\n * // Creates a client with auto-generated and funded payer\n * const client = await createDefaultLiteSVMClient();\n *\n * // Set up accounts and programs\n * client.svm.setAccount(myAccount);\n * client.svm.addProgramFromFile(myProgramAddress, 'program.so');\n *\n * // Use the client\n * const result = await client.sendTransaction([myInstruction]);\n * ```\n *\n * @example\n * Using a custom payer.\n * ```ts\n * import { createDefaultLiteSVMClient } from '@solana/kit-plugins';\n * import { generateKeyPairSigner } from '@solana/kit';\n *\n * const customPayer = await generateKeyPairSigner();\n * const client = await createDefaultLiteSVMClient({ payer: customPayer });\n * ```\n */\nexport function createDefaultLiteSVMClient(config: { payer?: TransactionSigner } = {}) {\n return createEmptyClient()\n .use(litesvm())\n .use(airdrop())\n .use(payerOrGeneratedPayer(config.payer))\n .use(defaultTransactionPlannerAndExecutorFromLitesvm())\n .use(planAndSendTransactions());\n}\n\n/**\n * Helper function that uses the provided payer if any,\n * otherwise generates a new payer and funds it with 100 SOL.\n */\nfunction payerOrGeneratedPayer(explicitPayer: TransactionSigner | undefined) {\n return <T extends ClientWithAirdrop>(client: T): Promise<T & { payer: TransactionSigner }> => {\n if (explicitPayer) {\n return Promise.resolve(payer(explicitPayer)(client));\n }\n return generatedPayerWithSol(lamports(100_000_000_000n))(client);\n };\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { airdrop } from '@solana/kit-plugin-airdrop';
|
|
2
2
|
export * from '@solana/kit-plugin-airdrop';
|
|
3
|
-
import { defaultTransactionPlannerAndExecutorFromRpc,
|
|
3
|
+
import { defaultTransactionPlannerAndExecutorFromRpc, planAndSendTransactions, defaultTransactionPlannerAndExecutorFromLitesvm } from '@solana/kit-plugin-instruction-plan';
|
|
4
4
|
export * from '@solana/kit-plugin-instruction-plan';
|
|
5
5
|
import { litesvm } from '@solana/kit-plugin-litesvm';
|
|
6
6
|
export * from '@solana/kit-plugin-litesvm';
|
|
@@ -12,13 +12,13 @@ import { createEmptyClient, lamports } from '@solana/kit';
|
|
|
12
12
|
|
|
13
13
|
// src/index.ts
|
|
14
14
|
function createDefaultRpcClient(config) {
|
|
15
|
-
return createEmptyClient().use(rpc(config.url, config.rpcSubscriptionsConfig)).use(payer(config.payer)).use(defaultTransactionPlannerAndExecutorFromRpc()).use(
|
|
15
|
+
return createEmptyClient().use(rpc(config.url, config.rpcSubscriptionsConfig)).use(payer(config.payer)).use(defaultTransactionPlannerAndExecutorFromRpc()).use(planAndSendTransactions());
|
|
16
16
|
}
|
|
17
17
|
function createDefaultLocalhostRpcClient(config = {}) {
|
|
18
|
-
return createEmptyClient().use(localhostRpc(config.url, config.rpcSubscriptionsConfig)).use(airdrop()).use(payerOrGeneratedPayer(config.payer)).use(defaultTransactionPlannerAndExecutorFromRpc()).use(
|
|
18
|
+
return createEmptyClient().use(localhostRpc(config.url, config.rpcSubscriptionsConfig)).use(airdrop()).use(payerOrGeneratedPayer(config.payer)).use(defaultTransactionPlannerAndExecutorFromRpc()).use(planAndSendTransactions());
|
|
19
19
|
}
|
|
20
20
|
function createDefaultLiteSVMClient(config = {}) {
|
|
21
|
-
return createEmptyClient().use(litesvm()).use(airdrop()).use(payerOrGeneratedPayer(config.payer)).use(defaultTransactionPlannerAndExecutorFromLitesvm()).use(
|
|
21
|
+
return createEmptyClient().use(litesvm()).use(airdrop()).use(payerOrGeneratedPayer(config.payer)).use(defaultTransactionPlannerAndExecutorFromLitesvm()).use(planAndSendTransactions());
|
|
22
22
|
}
|
|
23
23
|
function payerOrGeneratedPayer(explicitPayer) {
|
|
24
24
|
return (client) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/defaults.ts"],"names":[],"mappings":";;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../src/defaults.ts"],"names":[],"mappings":";;;;;;;;;;;;;AA2CO,SAAS,uBAAuD,MAAA,EAIpE;AACC,EAAA,OAAO,iBAAA,GACF,GAAA,CAAI,GAAA,CAAiB,OAAO,GAAA,EAAK,MAAA,CAAO,sBAAsB,CAAC,CAAA,CAC/D,GAAA,CAAI,MAAM,MAAA,CAAO,KAAK,CAAC,CAAA,CACvB,GAAA,CAAI,6CAA6C,CAAA,CACjD,GAAA,CAAI,uBAAA,EAAyB,CAAA;AACtC;AAkCO,SAAS,+BAAA,CACZ,MAAA,GAAgG,EAAC,EACnG;AACE,EAAA,OAAO,iBAAA,EAAkB,CACpB,GAAA,CAAI,YAAA,CAAa,MAAA,CAAO,GAAA,EAAK,MAAA,CAAO,sBAAsB,CAAC,CAAA,CAC3D,GAAA,CAAI,OAAA,EAAS,EACb,GAAA,CAAI,qBAAA,CAAsB,MAAA,CAAO,KAAK,CAAC,CAAA,CACvC,GAAA,CAAI,2CAAA,EAA6C,CAAA,CACjD,GAAA,CAAI,uBAAA,EAAyB,CAAA;AACtC;AAsCO,SAAS,0BAAA,CAA2B,MAAA,GAAwC,EAAC,EAAG;AACnF,EAAA,OAAO,iBAAA,GACF,GAAA,CAAI,OAAA,EAAS,CAAA,CACb,GAAA,CAAI,OAAA,EAAS,CAAA,CACb,GAAA,CAAI,sBAAsB,MAAA,CAAO,KAAK,CAAC,CAAA,CACvC,GAAA,CAAI,iDAAiD,CAAA,CACrD,GAAA,CAAI,uBAAA,EAAyB,CAAA;AACtC;AAMA,SAAS,sBAAsB,aAAA,EAA8C;AACzE,EAAA,OAAO,CAA8B,MAAA,KAAyD;AAC1F,IAAA,IAAI,aAAA,EAAe;AACf,MAAA,OAAO,QAAQ,OAAA,CAAQ,KAAA,CAAM,aAAa,CAAA,CAAE,MAAM,CAAC,CAAA;AAAA,IACvD;AACA,IAAA,OAAO,qBAAA,CAAsB,QAAA,CAAS,aAAgB,CAAC,EAAE,MAAM,CAAA;AAAA,EACnE,CAAA;AACJ","file":"index.react-native.mjs","sourcesContent":["import {\n ClientWithAirdrop,\n ClusterUrl,\n createEmptyClient,\n DefaultRpcSubscriptionsChannelConfig,\n lamports,\n TransactionSigner,\n} from '@solana/kit';\nimport { airdrop } from '@solana/kit-plugin-airdrop';\nimport {\n defaultTransactionPlannerAndExecutorFromLitesvm,\n defaultTransactionPlannerAndExecutorFromRpc,\n planAndSendTransactions,\n} from '@solana/kit-plugin-instruction-plan';\nimport { litesvm } from '@solana/kit-plugin-litesvm';\nimport { generatedPayerWithSol, payer } from '@solana/kit-plugin-payer';\nimport { localhostRpc, rpc } from '@solana/kit-plugin-rpc';\n\n/**\n * Creates a default RPC client with all essential plugins configured.\n *\n * This function sets up a client with RPC capabilities, payer configuration,\n * transaction planning and execution, and instruction plan sending functionality.\n * It's designed for production use with real Solana clusters.\n *\n * @param config - Configuration object containing the payer, URL, and optional RPC subscriptions config.\n * @returns A fully configured default client ready for transaction operations.\n *\n * @example\n * ```ts\n * import { createDefaultRpcClient } from '@solana/kit-plugins';\n * import { generateKeyPairSigner } from '@solana/kit';\n *\n * const payer = await generateKeyPairSigner();\n * const client = createDefaultRpcClient({\n * url: 'https://api.mainnet-beta.solana.com',\n * payer,\n * });\n *\n * // Use the client\n * const result = await client.sendTransaction([myInstruction]);\n * ```\n */\nexport function createDefaultRpcClient<TClusterUrl extends ClusterUrl>(config: {\n payer: TransactionSigner;\n rpcSubscriptionsConfig?: DefaultRpcSubscriptionsChannelConfig<TClusterUrl>;\n url: TClusterUrl;\n}) {\n return createEmptyClient()\n .use(rpc<TClusterUrl>(config.url, config.rpcSubscriptionsConfig))\n .use(payer(config.payer))\n .use(defaultTransactionPlannerAndExecutorFromRpc())\n .use(planAndSendTransactions());\n}\n\n/**\n * Creates a default RPC client configured for localhost development.\n *\n * This function sets up a client connected to a local validator with airdrop\n * functionality, automatic payer generation (if not provided), and all essential\n * transaction capabilities. Perfect for local development and testing.\n *\n * @param config - Optional configuration object with an optional payer.\n * @returns A fully configured client ready for localhost development.\n *\n * @example\n * ```ts\n * import { createDefaultLocalhostRpcClient } from '@solana/kit-plugins';\n *\n * // Creates a client with auto-generated and funded payer\n * const client = await createDefaultLocalhostRpcClient();\n *\n * // Use the client\n * const result = await client.sendTransaction([myInstruction]);\n * console.log('Payer address:', client.payer.address);\n * ```\n *\n * @example\n * Using a custom payer.\n * ```ts\n * import { createDefaultLocalhostRpcClient } from '@solana/kit-plugins';\n * import { generateKeyPairSigner } from '@solana/kit';\n *\n * const customPayer = await generateKeyPairSigner();\n * const client = await createDefaultLocalhostRpcClient({ payer: customPayer });\n * ```\n */\nexport function createDefaultLocalhostRpcClient(\n config: { payer?: TransactionSigner; rpcSubscriptionsConfig?: { url: string }; url?: string } = {},\n) {\n return createEmptyClient()\n .use(localhostRpc(config.url, config.rpcSubscriptionsConfig))\n .use(airdrop())\n .use(payerOrGeneratedPayer(config.payer))\n .use(defaultTransactionPlannerAndExecutorFromRpc())\n .use(planAndSendTransactions());\n}\n\n/**\n * Creates a default LiteSVM client for local blockchain simulation.\n *\n * This function sets up a client with an embedded LiteSVM instance for fast\n * local blockchain simulation, airdrop functionality, automatic payer generation\n * (if not provided), and all essential transaction capabilities. Ideal for testing\n * and development without requiring a live network connection.\n *\n * @param config - Optional configuration object with an optional payer.\n * @returns A fully configured client ready for local blockchain simulation.\n *\n * @example\n * ```ts\n * import { createDefaultLiteSVMClient } from '@solana/kit-plugins';\n *\n * // Creates a client with auto-generated and funded payer\n * const client = await createDefaultLiteSVMClient();\n *\n * // Set up accounts and programs\n * client.svm.setAccount(myAccount);\n * client.svm.addProgramFromFile(myProgramAddress, 'program.so');\n *\n * // Use the client\n * const result = await client.sendTransaction([myInstruction]);\n * ```\n *\n * @example\n * Using a custom payer.\n * ```ts\n * import { createDefaultLiteSVMClient } from '@solana/kit-plugins';\n * import { generateKeyPairSigner } from '@solana/kit';\n *\n * const customPayer = await generateKeyPairSigner();\n * const client = await createDefaultLiteSVMClient({ payer: customPayer });\n * ```\n */\nexport function createDefaultLiteSVMClient(config: { payer?: TransactionSigner } = {}) {\n return createEmptyClient()\n .use(litesvm())\n .use(airdrop())\n .use(payerOrGeneratedPayer(config.payer))\n .use(defaultTransactionPlannerAndExecutorFromLitesvm())\n .use(planAndSendTransactions());\n}\n\n/**\n * Helper function that uses the provided payer if any,\n * otherwise generates a new payer and funds it with 100 SOL.\n */\nfunction payerOrGeneratedPayer(explicitPayer: TransactionSigner | undefined) {\n return <T extends ClientWithAirdrop>(client: T): Promise<T & { payer: TransactionSigner }> => {\n if (explicitPayer) {\n return Promise.resolve(payer(explicitPayer)(client));\n }\n return generatedPayerWithSol(lamports(100_000_000_000n))(client);\n };\n}\n"]}
|
package/dist/types/defaults.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { ClusterUrl, DefaultRpcSubscriptionsChannelConfig, TransactionSigner } from '@solana/kit';
|
|
2
|
-
import { AirdropFunction } from '@solana/kit-plugin-airdrop';
|
|
1
|
+
import { ClientWithAirdrop, ClusterUrl, DefaultRpcSubscriptionsChannelConfig, TransactionSigner } from '@solana/kit';
|
|
3
2
|
/**
|
|
4
3
|
* Creates a default RPC client with all essential plugins configured.
|
|
5
4
|
*
|
|
@@ -29,7 +28,7 @@ export declare function createDefaultRpcClient<TClusterUrl extends ClusterUrl>(c
|
|
|
29
28
|
payer: TransactionSigner;
|
|
30
29
|
rpcSubscriptionsConfig?: DefaultRpcSubscriptionsChannelConfig<TClusterUrl>;
|
|
31
30
|
url: TClusterUrl;
|
|
32
|
-
}): import("@solana/kit").Client<object & {
|
|
31
|
+
}): import("@solana/kit").Client<import("@solana/kit").ClientWithTransactionPlanning & import("@solana/kit").ClientWithTransactionSending & object & {
|
|
33
32
|
rpc: import("@solana/kit").RpcFromTransport<import("@solana/kit").SolanaRpcApiFromTransport<import("@solana/kit").RpcTransportFromClusterUrl<TClusterUrl>>, import("@solana/kit").RpcTransportFromClusterUrl<TClusterUrl>>;
|
|
34
33
|
rpcSubscriptions: import("@solana/kit").RpcSubscriptions<import("@solana/kit").SolanaRpcSubscriptionsApi>;
|
|
35
34
|
} & {
|
|
@@ -37,17 +36,6 @@ export declare function createDefaultRpcClient<TClusterUrl extends ClusterUrl>(c
|
|
|
37
36
|
} & {
|
|
38
37
|
transactionPlanExecutor: import("@solana/kit").TransactionPlanExecutor<import("@solana/kit").TransactionPlanResultContext>;
|
|
39
38
|
transactionPlanner: import("@solana/kit").TransactionPlanner;
|
|
40
|
-
} & {
|
|
41
|
-
sendTransaction: (input: import("@solana/kit").Instruction | import("@solana/kit").Instruction[] | import("@solana/kit").InstructionPlan | import("@solana/kit").TransactionMessage, config?: {
|
|
42
|
-
abortSignal?: AbortSignal;
|
|
43
|
-
transactionPlanExecutor?: import("@solana/kit").TransactionPlanExecutor;
|
|
44
|
-
transactionPlanner?: import("@solana/kit").TransactionPlanner;
|
|
45
|
-
}) => Promise<import("@solana/kit").SuccessfulSingleTransactionPlanResult>;
|
|
46
|
-
sendTransactions: (input: import("@solana/kit").Instruction | import("@solana/kit").Instruction[] | import("@solana/kit").InstructionPlan | import("@solana/kit").TransactionMessage | import("@solana/kit").TransactionMessage[], config?: {
|
|
47
|
-
abortSignal?: AbortSignal;
|
|
48
|
-
transactionPlanExecutor?: import("@solana/kit").TransactionPlanExecutor;
|
|
49
|
-
transactionPlanner?: import("@solana/kit").TransactionPlanner;
|
|
50
|
-
}) => Promise<import("@solana/kit").TransactionPlanResult>;
|
|
51
39
|
}>;
|
|
52
40
|
/**
|
|
53
41
|
* Creates a default RPC client configured for localhost development.
|
|
@@ -87,27 +75,14 @@ export declare function createDefaultLocalhostRpcClient(config?: {
|
|
|
87
75
|
url: string;
|
|
88
76
|
};
|
|
89
77
|
url?: string;
|
|
90
|
-
}): import("@solana/kit").AsyncClient<object & {
|
|
78
|
+
}): import("@solana/kit").AsyncClient<import("@solana/kit").ClientWithTransactionPlanning & import("@solana/kit").ClientWithTransactionSending & ClientWithAirdrop & object & {
|
|
91
79
|
rpc: import("@solana/kit").Rpc<import("@solana/kit").RequestAirdropApi & import("@solana/kit").GetAccountInfoApi & import("@solana/kit").GetBalanceApi & import("@solana/kit").GetBlockApi & import("@solana/kit").GetBlockCommitmentApi & import("@solana/kit").GetBlockHeightApi & import("@solana/kit").GetBlockProductionApi & import("@solana/kit").GetBlocksApi & import("@solana/kit").GetBlocksWithLimitApi & import("@solana/kit").GetBlockTimeApi & import("@solana/kit").GetClusterNodesApi & import("@solana/kit").GetEpochInfoApi & import("@solana/kit").GetEpochScheduleApi & import("@solana/kit").GetFeeForMessageApi & import("@solana/kit").GetFirstAvailableBlockApi & import("@solana/kit").GetGenesisHashApi & import("@solana/kit").GetHealthApi & import("@solana/kit").GetHighestSnapshotSlotApi & import("@solana/kit").GetIdentityApi & import("@solana/kit").GetInflationGovernorApi & import("@solana/kit").GetInflationRateApi & import("@solana/kit").GetInflationRewardApi & import("@solana/kit").GetLargestAccountsApi & import("@solana/kit").GetLatestBlockhashApi & import("@solana/kit").GetLeaderScheduleApi & import("@solana/kit").GetMaxRetransmitSlotApi & import("@solana/kit").GetMaxShredInsertSlotApi & import("@solana/kit").GetMinimumBalanceForRentExemptionApi & import("@solana/kit").GetMultipleAccountsApi & import("@solana/kit").GetProgramAccountsApi & import("@solana/kit").GetRecentPerformanceSamplesApi & import("@solana/kit").GetRecentPrioritizationFeesApi & import("@solana/kit").GetSignaturesForAddressApi & import("@solana/kit").GetSignatureStatusesApi & import("@solana/kit").GetSlotApi & import("@solana/kit").GetSlotLeaderApi & import("@solana/kit").GetSlotLeadersApi & import("@solana/kit").GetStakeMinimumDelegationApi & import("@solana/kit").GetSupplyApi & import("@solana/kit").GetTokenAccountBalanceApi & import("@solana/kit").GetTokenAccountsByDelegateApi & import("@solana/kit").GetTokenAccountsByOwnerApi & import("@solana/kit").GetTokenLargestAccountsApi & import("@solana/kit").GetTokenSupplyApi & import("@solana/kit").GetTransactionApi & import("@solana/kit").GetTransactionCountApi & import("@solana/kit").GetVersionApi & import("@solana/kit").GetVoteAccountsApi & import("@solana/kit").IsBlockhashValidApi & import("@solana/kit").MinimumLedgerSlotApi & import("@solana/kit").SendTransactionApi & import("@solana/kit").SimulateTransactionApi>;
|
|
92
80
|
rpcSubscriptions: import("@solana/kit").RpcSubscriptions<import("@solana/kit").SolanaRpcSubscriptionsApi>;
|
|
93
|
-
} & {
|
|
94
|
-
airdrop: AirdropFunction;
|
|
95
81
|
} & {
|
|
96
82
|
payer: TransactionSigner;
|
|
97
83
|
} & {
|
|
98
84
|
transactionPlanExecutor: import("@solana/kit").TransactionPlanExecutor<import("@solana/kit").TransactionPlanResultContext>;
|
|
99
85
|
transactionPlanner: import("@solana/kit").TransactionPlanner;
|
|
100
|
-
} & {
|
|
101
|
-
sendTransaction: (input: import("@solana/kit").Instruction | import("@solana/kit").Instruction[] | import("@solana/kit").InstructionPlan | import("@solana/kit").TransactionMessage, config?: {
|
|
102
|
-
abortSignal?: AbortSignal;
|
|
103
|
-
transactionPlanExecutor?: import("@solana/kit").TransactionPlanExecutor;
|
|
104
|
-
transactionPlanner?: import("@solana/kit").TransactionPlanner;
|
|
105
|
-
}) => Promise<import("@solana/kit").SuccessfulSingleTransactionPlanResult>;
|
|
106
|
-
sendTransactions: (input: import("@solana/kit").Instruction | import("@solana/kit").Instruction[] | import("@solana/kit").InstructionPlan | import("@solana/kit").TransactionMessage | import("@solana/kit").TransactionMessage[], config?: {
|
|
107
|
-
abortSignal?: AbortSignal;
|
|
108
|
-
transactionPlanExecutor?: import("@solana/kit").TransactionPlanExecutor;
|
|
109
|
-
transactionPlanner?: import("@solana/kit").TransactionPlanner;
|
|
110
|
-
}) => Promise<import("@solana/kit").TransactionPlanResult>;
|
|
111
86
|
}>;
|
|
112
87
|
/**
|
|
113
88
|
* Creates a default LiteSVM client for local blockchain simulation.
|
|
@@ -147,26 +122,13 @@ export declare function createDefaultLocalhostRpcClient(config?: {
|
|
|
147
122
|
*/
|
|
148
123
|
export declare function createDefaultLiteSVMClient(config?: {
|
|
149
124
|
payer?: TransactionSigner;
|
|
150
|
-
}): import("@solana/kit").AsyncClient<object & {
|
|
125
|
+
}): import("@solana/kit").AsyncClient<import("@solana/kit").ClientWithTransactionPlanning & import("@solana/kit").ClientWithTransactionSending & ClientWithAirdrop & object & {
|
|
151
126
|
rpc: import("@solana/kit").Rpc<import("@solana/kit").GetAccountInfoApi & import("@solana/kit").GetLatestBlockhashApi & import("@solana/kit").GetMultipleAccountsApi>;
|
|
152
127
|
svm: import("@solana/kit-plugin-litesvm").LiteSVM;
|
|
153
|
-
} & {
|
|
154
|
-
airdrop: AirdropFunction;
|
|
155
128
|
} & {
|
|
156
129
|
payer: TransactionSigner;
|
|
157
130
|
} & {
|
|
158
131
|
transactionPlanExecutor: import("@solana/kit").TransactionPlanExecutor<import("@solana/kit").TransactionPlanResultContext>;
|
|
159
132
|
transactionPlanner: import("@solana/kit").TransactionPlanner;
|
|
160
|
-
} & {
|
|
161
|
-
sendTransaction: (input: import("@solana/kit").Instruction | import("@solana/kit").Instruction[] | import("@solana/kit").InstructionPlan | import("@solana/kit").TransactionMessage, config?: {
|
|
162
|
-
abortSignal?: AbortSignal;
|
|
163
|
-
transactionPlanExecutor?: import("@solana/kit").TransactionPlanExecutor;
|
|
164
|
-
transactionPlanner?: import("@solana/kit").TransactionPlanner;
|
|
165
|
-
}) => Promise<import("@solana/kit").SuccessfulSingleTransactionPlanResult>;
|
|
166
|
-
sendTransactions: (input: import("@solana/kit").Instruction | import("@solana/kit").Instruction[] | import("@solana/kit").InstructionPlan | import("@solana/kit").TransactionMessage | import("@solana/kit").TransactionMessage[], config?: {
|
|
167
|
-
abortSignal?: AbortSignal;
|
|
168
|
-
transactionPlanExecutor?: import("@solana/kit").TransactionPlanExecutor;
|
|
169
|
-
transactionPlanner?: import("@solana/kit").TransactionPlanner;
|
|
170
|
-
}) => Promise<import("@solana/kit").TransactionPlanResult>;
|
|
171
133
|
}>;
|
|
172
134
|
//# sourceMappingURL=defaults.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,EAEV,oCAAoC,EAEpC,iBAAiB,EACpB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,iBAAiB,EACjB,UAAU,EAEV,oCAAoC,EAEpC,iBAAiB,EACpB,MAAM,aAAa,CAAC;AAWrB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,SAAS,UAAU,EAAE,MAAM,EAAE;IAC3E,KAAK,EAAE,iBAAiB,CAAC;IACzB,sBAAsB,CAAC,EAAE,oCAAoC,CAAC,WAAW,CAAC,CAAC;IAC3E,GAAG,EAAE,WAAW,CAAC;CACpB;;;;;;;;GAMA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,+BAA+B,CAC3C,MAAM,GAAE;IAAE,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAAC,sBAAsB,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO;;;;WA4D5B,iBAAiB;;;;GApD1F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,GAAE;IAAE,KAAK,CAAC,EAAE,iBAAiB,CAAA;CAAO;;;;WAcX,iBAAiB;;;;GAP1F"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solana/kit-plugins",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Essential plugins and plugin presets for Solana Kit.",
|
|
5
5
|
"exports": {
|
|
6
6
|
"types": "./dist/types/index.d.ts",
|
|
@@ -37,13 +37,13 @@
|
|
|
37
37
|
"plugins"
|
|
38
38
|
],
|
|
39
39
|
"peerDependencies": {
|
|
40
|
-
"@solana/kit": "^6.
|
|
40
|
+
"@solana/kit": "^6.1.0"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@solana/kit-plugin-airdrop": "0.
|
|
43
|
+
"@solana/kit-plugin-airdrop": "0.5.0",
|
|
44
44
|
"@solana/kit-plugin-litesvm": "0.3.1",
|
|
45
|
-
"@solana/kit-plugin-
|
|
46
|
-
"@solana/kit-plugin-
|
|
45
|
+
"@solana/kit-plugin-instruction-plan": "0.4.0",
|
|
46
|
+
"@solana/kit-plugin-payer": "0.5.0",
|
|
47
47
|
"@solana/kit-plugin-rpc": "0.3.0"
|
|
48
48
|
},
|
|
49
49
|
"license": "MIT",
|