@solana/kit-plugins 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -33,7 +33,7 @@ const client = createDefaultRpcClient({
33
33
  payer,
34
34
  });
35
35
 
36
- await client.send([myInstruction]);
36
+ await client.sendTransaction([myInstruction]);
37
37
  ```
38
38
 
39
39
  #### Features
@@ -43,7 +43,8 @@ await client.send([myInstruction]);
43
43
  - `client.payer`: The main payer signer for transactions.
44
44
  - `client.transactionPlanner`: Plans instructions into transaction messages.
45
45
  - `client.transactionPlanExecutor`: Executes planned transaction messages.
46
- - `client.send`: Sends instructions or instruction plans to the cluster by using the client's transaction planner and executor.
46
+ - `client.sendTransactions`: Sends transaction messages, instructions or instruction plans to the cluster by using the client's transaction planner and executor.
47
+ - `client.sendTransaction`: Same as `client.sendTransactions` but ensuring only a single transaction is sent.
47
48
 
48
49
  #### Configuration
49
50
 
@@ -65,7 +66,7 @@ const client = await createDefaultLocalhostRpcClient();
65
66
 
66
67
  // Payer is automatically generated and funded
67
68
  console.log('Payer address:', client.payer.address);
68
- await client.send([myInstruction]);
69
+ await client.sendTransaction([myInstruction]);
69
70
 
70
71
  // Request additional funding
71
72
  await client.airdrop(client.payer.address, lamports(5_000_000_000n));
@@ -79,7 +80,8 @@ await client.airdrop(client.payer.address, lamports(5_000_000_000n));
79
80
  - `client.airdrop`: Function to request SOL from the local faucet.
80
81
  - `client.transactionPlanner`: Plans instructions into transaction messages.
81
82
  - `client.transactionPlanExecutor`: Executes planned transaction messages.
82
- - `client.send`: Sends instructions or instruction plans to the cluster by using the client's transaction planner and executor.
83
+ - `client.sendTransactions`: Sends transaction messages, instructions or instruction plans to the cluster by using the client's transaction planner and executor.
84
+ - `client.sendTransaction`: Same as `client.sendTransactions` but ensuring only a single transaction is sent.
83
85
 
84
86
  #### Configuration
85
87
 
@@ -101,7 +103,7 @@ client.svm.setAccount(myTestAccount);
101
103
  client.svm.addProgramFromFile(myProgramAddress, 'program.so');
102
104
 
103
105
  // Execute transactions locally
104
- await client.send([myInstruction]);
106
+ await client.sendTransaction([myInstruction]);
105
107
  ```
106
108
 
107
109
  #### Features
@@ -112,7 +114,8 @@ await client.send([myInstruction]);
112
114
  - `client.airdrop`: Function to request SOL from the LiteSVM instance.
113
115
  - `client.transactionPlanner`: Plans instructions into transaction messages.
114
116
  - `client.transactionPlanExecutor`: Executes planned transaction messages.
115
- - `client.send`: Sends instructions or instruction plans to the cluster by using the client's transaction planner and executor.
117
+ - `client.sendTransactions`: Sends transaction messages, instructions or instruction plans to the cluster by using the client's transaction planner and executor.
118
+ - `client.sendTransaction`: Same as `client.sendTransactions` but ensuring only a single transaction is sent.
116
119
 
117
120
  #### Configuration
118
121
 
@@ -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.sendInstructionPlans());
12
+ return kit.createEmptyClient().use(kitPluginRpc.rpc(config.url, config.rpcSubscriptionsConfig)).use(kitPluginPayer.payer(config.payer)).use(kitPluginInstructionPlan.defaultTransactionPlannerAndExecutorFromRpc()).use(kitPluginInstructionPlan.sendTransactions());
13
13
  }
14
14
  function createDefaultLocalhostRpcClient(config = {}) {
15
- return kit.createEmptyClient().use(kitPluginRpc.localhostRpc()).use(kitPluginAirdrop.airdrop()).use(payerOrGeneratedPayer(config.payer)).use(kitPluginInstructionPlan.defaultTransactionPlannerAndExecutorFromRpc()).use(kitPluginInstructionPlan.sendInstructionPlans());
15
+ return kit.createEmptyClient().use(kitPluginRpc.localhostRpc(config.url, config.rpcSubscriptionsConfig)).use(kitPluginAirdrop.airdrop()).use(payerOrGeneratedPayer(config.payer)).use(kitPluginInstructionPlan.defaultTransactionPlannerAndExecutorFromRpc()).use(kitPluginInstructionPlan.sendTransactions());
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.sendInstructionPlans());
18
+ return kit.createEmptyClient().use(kitPluginLitesvm.litesvm()).use(kitPluginAirdrop.airdrop()).use(payerOrGeneratedPayer(config.payer)).use(kitPluginInstructionPlan.defaultTransactionPlannerAndExecutorFromLitesvm()).use(kitPluginInstructionPlan.sendTransactions());
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","sendInstructionPlans","localhostRpc","airdrop","litesvm","defaultTransactionPlannerAndExecutorFromLitesvm","generatedPayerWithSol","lamports"],"mappings":";;;;;;;;;;AA0CO,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,6CAAA,EAAsB,CAAA;AACnC;AAkCO,SAAS,+BAAA,CAAgC,MAAA,GAAwC,EAAC,EAAG;AACxF,EAAA,OAAOJ,qBAAA,GACF,GAAA,CAAIK,yBAAA,EAAc,CAAA,CAClB,GAAA,CAAIC,wBAAA,EAAS,CAAA,CACb,GAAA,CAAI,sBAAsB,MAAA,CAAO,KAAK,CAAC,CAAA,CACvC,GAAA,CAAIH,sEAA6C,CAAA,CACjD,GAAA,CAAIC,6CAAA,EAAsB,CAAA;AACnC;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,6CAAA,EAAsB,CAAA;AACnC;AAMA,SAAS,sBAAsB,aAAA,EAA8C;AACzE,EAAA,OAAO,CAAyC,MAAA,KAAyD;AACrG,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 ClusterUrl,\n createEmptyClient,\n DefaultRpcSubscriptionsChannelConfig,\n lamports,\n TransactionSigner,\n} from '@solana/kit';\nimport { airdrop, AirdropFunction } from '@solana/kit-plugin-airdrop';\nimport {\n defaultTransactionPlannerAndExecutorFromLitesvm,\n defaultTransactionPlannerAndExecutorFromRpc,\n sendInstructionPlans,\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.send([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(sendInstructionPlans());\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.send([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(config: { payer?: TransactionSigner } = {}) {\n return createEmptyClient()\n .use(localhostRpc())\n .use(airdrop())\n .use(payerOrGeneratedPayer(config.payer))\n .use(defaultTransactionPlannerAndExecutorFromRpc())\n .use(sendInstructionPlans());\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.send([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(sendInstructionPlans());\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 { airdrop: AirdropFunction }>(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
+ {"version":3,"sources":["../src/defaults.ts"],"names":["createEmptyClient","rpc","payer","defaultTransactionPlannerAndExecutorFromRpc","sendTransactions","localhostRpc","airdrop","litesvm","defaultTransactionPlannerAndExecutorFromLitesvm","generatedPayerWithSol","lamports"],"mappings":";;;;;;;;;;AA0CO,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,yCAAA,EAAkB,CAAA;AAC/B;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,yCAAA,EAAkB,CAAA;AAC/B;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,yCAAA,EAAkB,CAAA;AAC/B;AAMA,SAAS,sBAAsB,aAAA,EAA8C;AACzE,EAAA,OAAO,CAAyC,MAAA,KAAyD;AACrG,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 ClusterUrl,\n createEmptyClient,\n DefaultRpcSubscriptionsChannelConfig,\n lamports,\n TransactionSigner,\n} from '@solana/kit';\nimport { airdrop, AirdropFunction } from '@solana/kit-plugin-airdrop';\nimport {\n defaultTransactionPlannerAndExecutorFromLitesvm,\n defaultTransactionPlannerAndExecutorFromRpc,\n sendTransactions,\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(sendTransactions());\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(sendTransactions());\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(sendTransactions());\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 { airdrop: AirdropFunction }>(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, sendInstructionPlans, defaultTransactionPlannerAndExecutorFromLitesvm } from '@solana/kit-plugin-instruction-plan';
3
+ import { defaultTransactionPlannerAndExecutorFromRpc, sendTransactions, 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(sendInstructionPlans());
15
+ return createEmptyClient().use(rpc(config.url, config.rpcSubscriptionsConfig)).use(payer(config.payer)).use(defaultTransactionPlannerAndExecutorFromRpc()).use(sendTransactions());
16
16
  }
17
17
  function createDefaultLocalhostRpcClient(config = {}) {
18
- return createEmptyClient().use(localhostRpc()).use(airdrop()).use(payerOrGeneratedPayer(config.payer)).use(defaultTransactionPlannerAndExecutorFromRpc()).use(sendInstructionPlans());
18
+ return createEmptyClient().use(localhostRpc(config.url, config.rpcSubscriptionsConfig)).use(airdrop()).use(payerOrGeneratedPayer(config.payer)).use(defaultTransactionPlannerAndExecutorFromRpc()).use(sendTransactions());
19
19
  }
20
20
  function createDefaultLiteSVMClient(config = {}) {
21
- return createEmptyClient().use(litesvm()).use(airdrop()).use(payerOrGeneratedPayer(config.payer)).use(defaultTransactionPlannerAndExecutorFromLitesvm()).use(sendInstructionPlans());
21
+ return createEmptyClient().use(litesvm()).use(airdrop()).use(payerOrGeneratedPayer(config.payer)).use(defaultTransactionPlannerAndExecutorFromLitesvm()).use(sendTransactions());
22
22
  }
23
23
  function payerOrGeneratedPayer(explicitPayer) {
24
24
  return (client) => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.ts"],"names":[],"mappings":";;;;;;;;;;;;;AA0CO,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,oBAAA,EAAsB,CAAA;AACnC;AAkCO,SAAS,+BAAA,CAAgC,MAAA,GAAwC,EAAC,EAAG;AACxF,EAAA,OAAO,iBAAA,GACF,GAAA,CAAI,YAAA,EAAc,CAAA,CAClB,GAAA,CAAI,OAAA,EAAS,CAAA,CACb,GAAA,CAAI,sBAAsB,MAAA,CAAO,KAAK,CAAC,CAAA,CACvC,GAAA,CAAI,6CAA6C,CAAA,CACjD,GAAA,CAAI,oBAAA,EAAsB,CAAA;AACnC;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,oBAAA,EAAsB,CAAA;AACnC;AAMA,SAAS,sBAAsB,aAAA,EAA8C;AACzE,EAAA,OAAO,CAAyC,MAAA,KAAyD;AACrG,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 ClusterUrl,\n createEmptyClient,\n DefaultRpcSubscriptionsChannelConfig,\n lamports,\n TransactionSigner,\n} from '@solana/kit';\nimport { airdrop, AirdropFunction } from '@solana/kit-plugin-airdrop';\nimport {\n defaultTransactionPlannerAndExecutorFromLitesvm,\n defaultTransactionPlannerAndExecutorFromRpc,\n sendInstructionPlans,\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.send([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(sendInstructionPlans());\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.send([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(config: { payer?: TransactionSigner } = {}) {\n return createEmptyClient()\n .use(localhostRpc())\n .use(airdrop())\n .use(payerOrGeneratedPayer(config.payer))\n .use(defaultTransactionPlannerAndExecutorFromRpc())\n .use(sendInstructionPlans());\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.send([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(sendInstructionPlans());\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 { airdrop: AirdropFunction }>(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
+ {"version":3,"sources":["../src/defaults.ts"],"names":[],"mappings":";;;;;;;;;;;;;AA0CO,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,gBAAA,EAAkB,CAAA;AAC/B;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,gBAAA,EAAkB,CAAA;AAC/B;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,gBAAA,EAAkB,CAAA;AAC/B;AAMA,SAAS,sBAAsB,aAAA,EAA8C;AACzE,EAAA,OAAO,CAAyC,MAAA,KAAyD;AACrG,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 ClusterUrl,\n createEmptyClient,\n DefaultRpcSubscriptionsChannelConfig,\n lamports,\n TransactionSigner,\n} from '@solana/kit';\nimport { airdrop, AirdropFunction } from '@solana/kit-plugin-airdrop';\nimport {\n defaultTransactionPlannerAndExecutorFromLitesvm,\n defaultTransactionPlannerAndExecutorFromRpc,\n sendTransactions,\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(sendTransactions());\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(sendTransactions());\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(sendTransactions());\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 { airdrop: AirdropFunction }>(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"]}
@@ -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.sendInstructionPlans());
12
+ return kit.createEmptyClient().use(kitPluginRpc.rpc(config.url, config.rpcSubscriptionsConfig)).use(kitPluginPayer.payer(config.payer)).use(kitPluginInstructionPlan.defaultTransactionPlannerAndExecutorFromRpc()).use(kitPluginInstructionPlan.sendTransactions());
13
13
  }
14
14
  function createDefaultLocalhostRpcClient(config = {}) {
15
- return kit.createEmptyClient().use(kitPluginRpc.localhostRpc()).use(kitPluginAirdrop.airdrop()).use(payerOrGeneratedPayer(config.payer)).use(kitPluginInstructionPlan.defaultTransactionPlannerAndExecutorFromRpc()).use(kitPluginInstructionPlan.sendInstructionPlans());
15
+ return kit.createEmptyClient().use(kitPluginRpc.localhostRpc(config.url, config.rpcSubscriptionsConfig)).use(kitPluginAirdrop.airdrop()).use(payerOrGeneratedPayer(config.payer)).use(kitPluginInstructionPlan.defaultTransactionPlannerAndExecutorFromRpc()).use(kitPluginInstructionPlan.sendTransactions());
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.sendInstructionPlans());
18
+ return kit.createEmptyClient().use(kitPluginLitesvm.litesvm()).use(kitPluginAirdrop.airdrop()).use(payerOrGeneratedPayer(config.payer)).use(kitPluginInstructionPlan.defaultTransactionPlannerAndExecutorFromLitesvm()).use(kitPluginInstructionPlan.sendTransactions());
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","sendInstructionPlans","localhostRpc","airdrop","litesvm","defaultTransactionPlannerAndExecutorFromLitesvm","generatedPayerWithSol","lamports"],"mappings":";;;;;;;;;;AA0CO,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,6CAAA,EAAsB,CAAA;AACnC;AAkCO,SAAS,+BAAA,CAAgC,MAAA,GAAwC,EAAC,EAAG;AACxF,EAAA,OAAOJ,qBAAA,GACF,GAAA,CAAIK,yBAAA,EAAc,CAAA,CAClB,GAAA,CAAIC,wBAAA,EAAS,CAAA,CACb,GAAA,CAAI,sBAAsB,MAAA,CAAO,KAAK,CAAC,CAAA,CACvC,GAAA,CAAIH,sEAA6C,CAAA,CACjD,GAAA,CAAIC,6CAAA,EAAsB,CAAA;AACnC;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,6CAAA,EAAsB,CAAA;AACnC;AAMA,SAAS,sBAAsB,aAAA,EAA8C;AACzE,EAAA,OAAO,CAAyC,MAAA,KAAyD;AACrG,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 ClusterUrl,\n createEmptyClient,\n DefaultRpcSubscriptionsChannelConfig,\n lamports,\n TransactionSigner,\n} from '@solana/kit';\nimport { airdrop, AirdropFunction } from '@solana/kit-plugin-airdrop';\nimport {\n defaultTransactionPlannerAndExecutorFromLitesvm,\n defaultTransactionPlannerAndExecutorFromRpc,\n sendInstructionPlans,\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.send([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(sendInstructionPlans());\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.send([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(config: { payer?: TransactionSigner } = {}) {\n return createEmptyClient()\n .use(localhostRpc())\n .use(airdrop())\n .use(payerOrGeneratedPayer(config.payer))\n .use(defaultTransactionPlannerAndExecutorFromRpc())\n .use(sendInstructionPlans());\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.send([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(sendInstructionPlans());\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 { airdrop: AirdropFunction }>(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
+ {"version":3,"sources":["../src/defaults.ts"],"names":["createEmptyClient","rpc","payer","defaultTransactionPlannerAndExecutorFromRpc","sendTransactions","localhostRpc","airdrop","litesvm","defaultTransactionPlannerAndExecutorFromLitesvm","generatedPayerWithSol","lamports"],"mappings":";;;;;;;;;;AA0CO,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,yCAAA,EAAkB,CAAA;AAC/B;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,yCAAA,EAAkB,CAAA;AAC/B;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,yCAAA,EAAkB,CAAA;AAC/B;AAMA,SAAS,sBAAsB,aAAA,EAA8C;AACzE,EAAA,OAAO,CAAyC,MAAA,KAAyD;AACrG,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 ClusterUrl,\n createEmptyClient,\n DefaultRpcSubscriptionsChannelConfig,\n lamports,\n TransactionSigner,\n} from '@solana/kit';\nimport { airdrop, AirdropFunction } from '@solana/kit-plugin-airdrop';\nimport {\n defaultTransactionPlannerAndExecutorFromLitesvm,\n defaultTransactionPlannerAndExecutorFromRpc,\n sendTransactions,\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(sendTransactions());\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(sendTransactions());\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(sendTransactions());\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 { airdrop: AirdropFunction }>(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, sendInstructionPlans, defaultTransactionPlannerAndExecutorFromLitesvm } from '@solana/kit-plugin-instruction-plan';
3
+ import { defaultTransactionPlannerAndExecutorFromRpc, sendTransactions, 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(sendInstructionPlans());
15
+ return createEmptyClient().use(rpc(config.url, config.rpcSubscriptionsConfig)).use(payer(config.payer)).use(defaultTransactionPlannerAndExecutorFromRpc()).use(sendTransactions());
16
16
  }
17
17
  function createDefaultLocalhostRpcClient(config = {}) {
18
- return createEmptyClient().use(localhostRpc()).use(airdrop()).use(payerOrGeneratedPayer(config.payer)).use(defaultTransactionPlannerAndExecutorFromRpc()).use(sendInstructionPlans());
18
+ return createEmptyClient().use(localhostRpc(config.url, config.rpcSubscriptionsConfig)).use(airdrop()).use(payerOrGeneratedPayer(config.payer)).use(defaultTransactionPlannerAndExecutorFromRpc()).use(sendTransactions());
19
19
  }
20
20
  function createDefaultLiteSVMClient(config = {}) {
21
- return createEmptyClient().use(litesvm()).use(airdrop()).use(payerOrGeneratedPayer(config.payer)).use(defaultTransactionPlannerAndExecutorFromLitesvm()).use(sendInstructionPlans());
21
+ return createEmptyClient().use(litesvm()).use(airdrop()).use(payerOrGeneratedPayer(config.payer)).use(defaultTransactionPlannerAndExecutorFromLitesvm()).use(sendTransactions());
22
22
  }
23
23
  function payerOrGeneratedPayer(explicitPayer) {
24
24
  return (client) => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.ts"],"names":[],"mappings":";;;;;;;;;;;;;AA0CO,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,oBAAA,EAAsB,CAAA;AACnC;AAkCO,SAAS,+BAAA,CAAgC,MAAA,GAAwC,EAAC,EAAG;AACxF,EAAA,OAAO,iBAAA,GACF,GAAA,CAAI,YAAA,EAAc,CAAA,CAClB,GAAA,CAAI,OAAA,EAAS,CAAA,CACb,GAAA,CAAI,sBAAsB,MAAA,CAAO,KAAK,CAAC,CAAA,CACvC,GAAA,CAAI,6CAA6C,CAAA,CACjD,GAAA,CAAI,oBAAA,EAAsB,CAAA;AACnC;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,oBAAA,EAAsB,CAAA;AACnC;AAMA,SAAS,sBAAsB,aAAA,EAA8C;AACzE,EAAA,OAAO,CAAyC,MAAA,KAAyD;AACrG,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 ClusterUrl,\n createEmptyClient,\n DefaultRpcSubscriptionsChannelConfig,\n lamports,\n TransactionSigner,\n} from '@solana/kit';\nimport { airdrop, AirdropFunction } from '@solana/kit-plugin-airdrop';\nimport {\n defaultTransactionPlannerAndExecutorFromLitesvm,\n defaultTransactionPlannerAndExecutorFromRpc,\n sendInstructionPlans,\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.send([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(sendInstructionPlans());\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.send([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(config: { payer?: TransactionSigner } = {}) {\n return createEmptyClient()\n .use(localhostRpc())\n .use(airdrop())\n .use(payerOrGeneratedPayer(config.payer))\n .use(defaultTransactionPlannerAndExecutorFromRpc())\n .use(sendInstructionPlans());\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.send([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(sendInstructionPlans());\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 { airdrop: AirdropFunction }>(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
+ {"version":3,"sources":["../src/defaults.ts"],"names":[],"mappings":";;;;;;;;;;;;;AA0CO,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,gBAAA,EAAkB,CAAA;AAC/B;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,gBAAA,EAAkB,CAAA;AAC/B;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,gBAAA,EAAkB,CAAA;AAC/B;AAMA,SAAS,sBAAsB,aAAA,EAA8C;AACzE,EAAA,OAAO,CAAyC,MAAA,KAAyD;AACrG,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 ClusterUrl,\n createEmptyClient,\n DefaultRpcSubscriptionsChannelConfig,\n lamports,\n TransactionSigner,\n} from '@solana/kit';\nimport { airdrop, AirdropFunction } from '@solana/kit-plugin-airdrop';\nimport {\n defaultTransactionPlannerAndExecutorFromLitesvm,\n defaultTransactionPlannerAndExecutorFromRpc,\n sendTransactions,\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(sendTransactions());\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(sendTransactions());\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(sendTransactions());\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 { airdrop: AirdropFunction }>(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, sendInstructionPlans, defaultTransactionPlannerAndExecutorFromLitesvm } from '@solana/kit-plugin-instruction-plan';
3
+ import { defaultTransactionPlannerAndExecutorFromRpc, sendTransactions, 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(sendInstructionPlans());
15
+ return createEmptyClient().use(rpc(config.url, config.rpcSubscriptionsConfig)).use(payer(config.payer)).use(defaultTransactionPlannerAndExecutorFromRpc()).use(sendTransactions());
16
16
  }
17
17
  function createDefaultLocalhostRpcClient(config = {}) {
18
- return createEmptyClient().use(localhostRpc()).use(airdrop()).use(payerOrGeneratedPayer(config.payer)).use(defaultTransactionPlannerAndExecutorFromRpc()).use(sendInstructionPlans());
18
+ return createEmptyClient().use(localhostRpc(config.url, config.rpcSubscriptionsConfig)).use(airdrop()).use(payerOrGeneratedPayer(config.payer)).use(defaultTransactionPlannerAndExecutorFromRpc()).use(sendTransactions());
19
19
  }
20
20
  function createDefaultLiteSVMClient(config = {}) {
21
- return createEmptyClient().use(litesvm()).use(airdrop()).use(payerOrGeneratedPayer(config.payer)).use(defaultTransactionPlannerAndExecutorFromLitesvm()).use(sendInstructionPlans());
21
+ return createEmptyClient().use(litesvm()).use(airdrop()).use(payerOrGeneratedPayer(config.payer)).use(defaultTransactionPlannerAndExecutorFromLitesvm()).use(sendTransactions());
22
22
  }
23
23
  function payerOrGeneratedPayer(explicitPayer) {
24
24
  return (client) => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.ts"],"names":[],"mappings":";;;;;;;;;;;;;AA0CO,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,oBAAA,EAAsB,CAAA;AACnC;AAkCO,SAAS,+BAAA,CAAgC,MAAA,GAAwC,EAAC,EAAG;AACxF,EAAA,OAAO,iBAAA,GACF,GAAA,CAAI,YAAA,EAAc,CAAA,CAClB,GAAA,CAAI,OAAA,EAAS,CAAA,CACb,GAAA,CAAI,sBAAsB,MAAA,CAAO,KAAK,CAAC,CAAA,CACvC,GAAA,CAAI,6CAA6C,CAAA,CACjD,GAAA,CAAI,oBAAA,EAAsB,CAAA;AACnC;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,oBAAA,EAAsB,CAAA;AACnC;AAMA,SAAS,sBAAsB,aAAA,EAA8C;AACzE,EAAA,OAAO,CAAyC,MAAA,KAAyD;AACrG,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 ClusterUrl,\n createEmptyClient,\n DefaultRpcSubscriptionsChannelConfig,\n lamports,\n TransactionSigner,\n} from '@solana/kit';\nimport { airdrop, AirdropFunction } from '@solana/kit-plugin-airdrop';\nimport {\n defaultTransactionPlannerAndExecutorFromLitesvm,\n defaultTransactionPlannerAndExecutorFromRpc,\n sendInstructionPlans,\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.send([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(sendInstructionPlans());\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.send([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(config: { payer?: TransactionSigner } = {}) {\n return createEmptyClient()\n .use(localhostRpc())\n .use(airdrop())\n .use(payerOrGeneratedPayer(config.payer))\n .use(defaultTransactionPlannerAndExecutorFromRpc())\n .use(sendInstructionPlans());\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.send([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(sendInstructionPlans());\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 { airdrop: AirdropFunction }>(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
+ {"version":3,"sources":["../src/defaults.ts"],"names":[],"mappings":";;;;;;;;;;;;;AA0CO,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,gBAAA,EAAkB,CAAA;AAC/B;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,gBAAA,EAAkB,CAAA;AAC/B;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,gBAAA,EAAkB,CAAA;AAC/B;AAMA,SAAS,sBAAsB,aAAA,EAA8C;AACzE,EAAA,OAAO,CAAyC,MAAA,KAAyD;AACrG,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 ClusterUrl,\n createEmptyClient,\n DefaultRpcSubscriptionsChannelConfig,\n lamports,\n TransactionSigner,\n} from '@solana/kit';\nimport { airdrop, AirdropFunction } from '@solana/kit-plugin-airdrop';\nimport {\n defaultTransactionPlannerAndExecutorFromLitesvm,\n defaultTransactionPlannerAndExecutorFromRpc,\n sendTransactions,\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(sendTransactions());\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(sendTransactions());\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(sendTransactions());\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 { airdrop: AirdropFunction }>(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"]}
@@ -22,7 +22,7 @@ import { AirdropFunction } from '@solana/kit-plugin-airdrop';
22
22
  * });
23
23
  *
24
24
  * // Use the client
25
- * const result = await client.send([myInstruction]);
25
+ * const result = await client.sendTransaction([myInstruction]);
26
26
  * ```
27
27
  */
28
28
  export declare function createDefaultRpcClient<TClusterUrl extends ClusterUrl>(config: {
@@ -38,11 +38,16 @@ export declare function createDefaultRpcClient<TClusterUrl extends ClusterUrl>(c
38
38
  transactionPlanExecutor: import("@solana/kit").TransactionPlanExecutor<import("@solana/kit").TransactionPlanResultContext>;
39
39
  transactionPlanner: import("@solana/kit").TransactionPlanner;
40
40
  } & {
41
- send: (instructions: import("@solana/kit").Instruction | import("@solana/kit").Instruction[] | import("@solana/kit").InstructionPlan, config?: {
41
+ sendTransaction: (input: import("@solana/kit").Instruction | import("@solana/kit").Instruction[] | import("@solana/kit").InstructionPlan | import("@solana/kit").TransactionMessage, config?: {
42
42
  abortSignal?: AbortSignal;
43
43
  transactionPlanExecutor?: import("@solana/kit").TransactionPlanExecutor;
44
44
  transactionPlanner?: import("@solana/kit").TransactionPlanner;
45
- }) => Promise<import("@solana/kit").TransactionPlanResult<import("@solana/kit").TransactionPlanResultContext>>;
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>;
46
51
  }>;
47
52
  /**
48
53
  * Creates a default RPC client configured for localhost development.
@@ -62,7 +67,7 @@ export declare function createDefaultRpcClient<TClusterUrl extends ClusterUrl>(c
62
67
  * const client = await createDefaultLocalhostRpcClient();
63
68
  *
64
69
  * // Use the client
65
- * const result = await client.send([myInstruction]);
70
+ * const result = await client.sendTransaction([myInstruction]);
66
71
  * console.log('Payer address:', client.payer.address);
67
72
  * ```
68
73
  *
@@ -78,6 +83,10 @@ export declare function createDefaultRpcClient<TClusterUrl extends ClusterUrl>(c
78
83
  */
79
84
  export declare function createDefaultLocalhostRpcClient(config?: {
80
85
  payer?: TransactionSigner;
86
+ rpcSubscriptionsConfig?: {
87
+ url: string;
88
+ };
89
+ url?: string;
81
90
  }): import("@solana/kit").AsyncClient<object & {
82
91
  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>;
83
92
  rpcSubscriptions: import("@solana/kit").RpcSubscriptions<import("@solana/kit").SolanaRpcSubscriptionsApi>;
@@ -89,11 +98,16 @@ export declare function createDefaultLocalhostRpcClient(config?: {
89
98
  transactionPlanExecutor: import("@solana/kit").TransactionPlanExecutor<import("@solana/kit").TransactionPlanResultContext>;
90
99
  transactionPlanner: import("@solana/kit").TransactionPlanner;
91
100
  } & {
92
- send: (instructions: import("@solana/kit").Instruction | import("@solana/kit").Instruction[] | import("@solana/kit").InstructionPlan, config?: {
101
+ sendTransaction: (input: import("@solana/kit").Instruction | import("@solana/kit").Instruction[] | import("@solana/kit").InstructionPlan | import("@solana/kit").TransactionMessage, config?: {
93
102
  abortSignal?: AbortSignal;
94
103
  transactionPlanExecutor?: import("@solana/kit").TransactionPlanExecutor;
95
104
  transactionPlanner?: import("@solana/kit").TransactionPlanner;
96
- }) => Promise<import("@solana/kit").TransactionPlanResult<import("@solana/kit").TransactionPlanResultContext>>;
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>;
97
111
  }>;
98
112
  /**
99
113
  * Creates a default LiteSVM client for local blockchain simulation.
@@ -118,7 +132,7 @@ export declare function createDefaultLocalhostRpcClient(config?: {
118
132
  * client.svm.addProgramFromFile(myProgramAddress, 'program.so');
119
133
  *
120
134
  * // Use the client
121
- * const result = await client.send([myInstruction]);
135
+ * const result = await client.sendTransaction([myInstruction]);
122
136
  * ```
123
137
  *
124
138
  * @example
@@ -144,10 +158,15 @@ export declare function createDefaultLiteSVMClient(config?: {
144
158
  transactionPlanExecutor: import("@solana/kit").TransactionPlanExecutor<import("@solana/kit").TransactionPlanResultContext>;
145
159
  transactionPlanner: import("@solana/kit").TransactionPlanner;
146
160
  } & {
147
- send: (instructions: import("@solana/kit").Instruction | import("@solana/kit").Instruction[] | import("@solana/kit").InstructionPlan, config?: {
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?: {
148
167
  abortSignal?: AbortSignal;
149
168
  transactionPlanExecutor?: import("@solana/kit").TransactionPlanExecutor;
150
169
  transactionPlanner?: import("@solana/kit").TransactionPlanner;
151
- }) => Promise<import("@solana/kit").TransactionPlanResult<import("@solana/kit").TransactionPlanResultContext>>;
170
+ }) => Promise<import("@solana/kit").TransactionPlanResult>;
152
171
  }>;
153
172
  //# 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;AACrB,OAAO,EAAW,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAUtE;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;gJAuBwC,CAAC;mBAGzC,CADG;+BACyB,CAAC;0BACD,CAAC;;GArB7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,GAAE;IAAE,KAAK,CAAC,EAAE,iBAAiB,CAAA;CAAO;;;;;;WA2DL,iBAAiB;;;;;gJA5E7D,CAAC;mBAGzC,CADG;+BACyB,CAAC;0BACD,CAAC;;GAoB7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,GAAE;IAAE,KAAK,CAAC,EAAE,iBAAiB,CAAA;CAAO;;;;;;WAcA,iBAAiB;;;;;gJA5E7D,CAAC;mBAGzC,CADG;+BACyB,CAAC;0BACD,CAAC;;GAiE7B"}
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;AACrB,OAAO,EAAW,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAUtE;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;+LAyC2F,CAAC;mBAErF,CAAC;+BACe,CAAC;0BACjB,CAAC;;6OAOgC,CAAC;mBAAuB,CAAC;+BAE1B,CAAC;0BACxB,CAAC;;GAjDjB;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;;;;;;WA4DjB,iBAAiB;;;;;+LA5DV,CAAC;mBAErF,CAAC;+BACe,CAAC;0BACjB,CAAC;;6OAOgC,CAAC;mBAAuB,CAAC;+BAE1B,CAAC;0BACxB,CAAC;;GANjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,GAAE;IAAE,KAAK,CAAC,EAAE,iBAAiB,CAAA;CAAO;;;;;;WAcA,iBAAiB;;;;;+LA5DV,CAAC;mBAErF,CAAC;+BACe,CAAC;0BACjB,CAAC;;6OAOgC,CAAC;mBAAuB,CAAC;+BAE1B,CAAC;0BACxB,CAAC;;GAuCjB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solana/kit-plugins",
3
- "version": "0.2.0",
3
+ "version": "0.3.1",
4
4
  "description": "Essential plugins and plugin presets for Solana Kit.",
5
5
  "exports": {
6
6
  "types": "./dist/types/index.d.ts",
@@ -37,14 +37,14 @@
37
37
  "plugins"
38
38
  ],
39
39
  "peerDependencies": {
40
- "@solana/kit": "^5.2.0"
40
+ "@solana/kit": "^6.0.0"
41
41
  },
42
42
  "dependencies": {
43
- "@solana/kit-plugin-airdrop": "0.2.0",
44
- "@solana/kit-plugin-instruction-plan": "0.2.0",
45
- "@solana/kit-plugin-litesvm": "0.2.0",
46
- "@solana/kit-plugin-payer": "0.2.0",
47
- "@solana/kit-plugin-rpc": "0.2.0"
43
+ "@solana/kit-plugin-airdrop": "0.3.0",
44
+ "@solana/kit-plugin-litesvm": "0.3.1",
45
+ "@solana/kit-plugin-payer": "0.3.0",
46
+ "@solana/kit-plugin-instruction-plan": "0.3.0",
47
+ "@solana/kit-plugin-rpc": "0.3.0"
48
48
  },
49
49
  "license": "MIT",
50
50
  "repository": {