@wuwei-labs/srsly 2.0.0-beta.25 → 2.0.0-beta.26
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 +49 -40
- package/dist/cjs/package.json +12 -5
- package/dist/cjs/utils/config.js +36 -127
- package/dist/cjs/utils/config.js.map +1 -1
- package/dist/cjs/utils/constants.js +2 -2
- package/dist/cjs/utils/constants.js.map +1 -1
- package/dist/cjs/utils/pack-functions.js +148 -0
- package/dist/cjs/utils/pack-functions.js.map +1 -0
- package/dist/cjs/utils/solana-adapter.js +120 -0
- package/dist/cjs/utils/solana-adapter.js.map +1 -0
- package/dist/cjs/utils/types.js +6 -0
- package/dist/cjs/utils/types.js.map +1 -0
- package/dist/esm/package.json +12 -5
- package/dist/esm/utils/config.js +36 -128
- package/dist/esm/utils/config.js.map +1 -1
- package/dist/esm/utils/constants.js +2 -2
- package/dist/esm/utils/constants.js.map +1 -1
- package/dist/esm/utils/pack-functions.js +110 -0
- package/dist/esm/utils/pack-functions.js.map +1 -0
- package/dist/esm/utils/solana-adapter.js +82 -0
- package/dist/esm/utils/solana-adapter.js.map +1 -0
- package/dist/esm/utils/types.js +5 -0
- package/dist/esm/utils/types.js.map +1 -0
- package/dist/types/utils/config.d.ts +35 -18
- package/dist/types/utils/config.d.ts.map +1 -1
- package/dist/types/utils/constants.d.ts +8 -8
- package/dist/types/utils/constants.d.ts.map +1 -1
- package/dist/types/utils/pack-functions.d.ts +18 -0
- package/dist/types/utils/pack-functions.d.ts.map +1 -0
- package/dist/types/utils/solana-adapter.d.ts +26 -0
- package/dist/types/utils/solana-adapter.d.ts.map +1 -0
- package/dist/types/utils/types.d.ts +14 -0
- package/dist/types/utils/types.d.ts.map +1 -0
- package/package.json +12 -5
package/README.md
CHANGED
|
@@ -4,34 +4,46 @@
|
|
|
4
4
|
[](https://www.typescriptlang.org/)
|
|
5
5
|
[](https://solana.com/)
|
|
6
6
|
|
|
7
|
-
A TypeScript SDK for building and sending Solana transactions to interact with the SRSLY (Space Rental from SLY) program - a decentralized rental system for Star Atlas fleets.
|
|
7
|
+
A flexible TypeScript SDK for building and sending Solana transactions to interact with the SRSLY (Space Rental from SLY) program - a decentralized rental system for Star Atlas fleets.
|
|
8
8
|
|
|
9
9
|
## What This SDK Does
|
|
10
10
|
|
|
11
11
|
The SRSLY SDK is a complete toolkit that helps you create Solana transactions for fleet rentals. It provides:
|
|
12
12
|
|
|
13
|
+
- ✅ **Flexible Dependencies** - Choose your preferred Solana library (`@solana/kit` or `@solana/web3.js`)
|
|
14
|
+
- ✅ **Three Pack Methods** - `packKit()`, `packWeb3js()`, or `pack()` (auto-detect)
|
|
13
15
|
- ✅ Account derivation and validation
|
|
14
16
|
- ✅ Instruction data encoding
|
|
15
17
|
- ✅ Type-safe parameter handling
|
|
16
18
|
- ✅ Direct transaction sending via `.send()` (server/CLI)
|
|
17
|
-
- ✅ Unsigned transaction building via `.pack()` (browser/wallets)
|
|
19
|
+
- ✅ Unsigned transaction building via `.pack*()` (browser/wallets)
|
|
18
20
|
- ✅ Wallet-agnostic design (works with any signing method)
|
|
21
|
+
- ✅ Duration helper functions (`days()`, `weeks()`, `months()`)
|
|
19
22
|
|
|
20
|
-
**Current Status**: Full instruction building, transaction packing, and direct sending support.
|
|
23
|
+
**Current Status**: Full instruction building, transaction packing, and direct sending support with dual library compatibility.
|
|
21
24
|
|
|
22
25
|
## Installation
|
|
23
26
|
|
|
24
27
|
```bash
|
|
28
|
+
# 1. Install the SDK
|
|
25
29
|
npm install @wuwei-labs/srsly
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
#
|
|
29
|
-
|
|
30
|
+
|
|
31
|
+
# 2. Install your preferred Solana library (peer dependency)
|
|
32
|
+
# Option A: Modern @solana/kit (recommended)
|
|
33
|
+
npm install @solana/kit
|
|
34
|
+
|
|
35
|
+
# Option B: Legacy @solana/web3.js (wallet adapter compatibility)
|
|
36
|
+
npm install @solana/web3.js
|
|
37
|
+
|
|
38
|
+
# Option C: Both libraries (for maximum flexibility)
|
|
39
|
+
npm install @solana/kit @solana/web3.js
|
|
30
40
|
```
|
|
31
41
|
|
|
42
|
+
The SDK uses **peer dependencies** to give you control over which Solana library to use, reducing bundle size and avoiding version conflicts.
|
|
43
|
+
|
|
32
44
|
## Quick Start
|
|
33
45
|
|
|
34
|
-
### Option 1:
|
|
46
|
+
### Option 1: Using @solana/kit (Modern, Recommended)
|
|
35
47
|
|
|
36
48
|
```typescript
|
|
37
49
|
import { createContract, setConfig, days, weeks } from '@wuwei-labs/srsly';
|
|
@@ -40,13 +52,14 @@ import { createKeyPairSignerFromBytes } from '@solana/kit';
|
|
|
40
52
|
// 1. Configure SDK with RPC endpoint
|
|
41
53
|
setConfig({
|
|
42
54
|
programs: 'atlasnet',
|
|
43
|
-
rpcUrl: 'https://api.atlasnet.solana.com'
|
|
55
|
+
rpcUrl: 'https://api.atlasnet.solana.com',
|
|
56
|
+
solanaLibrary: 'kit' // Optional: specify preferred library
|
|
44
57
|
});
|
|
45
58
|
|
|
46
59
|
// 2. Create signer from keypair
|
|
47
60
|
const signer = await createKeyPairSignerFromBytes(keypairBytes);
|
|
48
61
|
|
|
49
|
-
// 3. Pack and send
|
|
62
|
+
// 3. Pack and send using @solana/kit (chainable!)
|
|
50
63
|
const signature = await createContract({
|
|
51
64
|
owner: signer,
|
|
52
65
|
fleet: fleetAddress,
|
|
@@ -54,38 +67,33 @@ const signature = await createContract({
|
|
|
54
67
|
rate: 1000000, // ATLAS tokens per payment period
|
|
55
68
|
durationMax: days(7), // 7 days using helper function
|
|
56
69
|
paymentsFreq: 'daily' // Minimum duration automatically set to 1 day
|
|
57
|
-
}).
|
|
70
|
+
}).packKit(signer.address).send(signer); // Uses @solana/kit
|
|
58
71
|
|
|
59
72
|
console.log('Transaction signature:', signature);
|
|
60
73
|
|
|
61
|
-
//
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
// With custom transaction options (also chainable!)
|
|
66
|
-
const signature3 = await createContract(params)
|
|
67
|
-
.set({
|
|
68
|
-
transactionOptions: {
|
|
69
|
-
commitment: 'finalized',
|
|
70
|
-
skipPreflight: true
|
|
71
|
-
}
|
|
72
|
-
})
|
|
73
|
-
.pack(signer.address)
|
|
74
|
+
// Alternative: Auto-detect library (prefers @solana/kit when available)
|
|
75
|
+
const signature2 = await createContract(params)
|
|
76
|
+
.pack(signer.address) // Auto-detects and uses @solana/kit
|
|
74
77
|
.send(signer);
|
|
78
|
+
|
|
79
|
+
// Two-step approach
|
|
80
|
+
const packedTx = await createContract(params).packKit(signer.address);
|
|
81
|
+
const signature3 = await packedTx.send(signer);
|
|
75
82
|
```
|
|
76
83
|
|
|
77
|
-
### Option 2:
|
|
84
|
+
### Option 2: Using @solana/web3.js (Wallet Adapter Compatible)
|
|
78
85
|
|
|
79
86
|
```typescript
|
|
80
|
-
import { createContract, setConfig } from '@wuwei-labs/srsly';
|
|
87
|
+
import { createContract, setConfig, days } from '@wuwei-labs/srsly';
|
|
81
88
|
|
|
82
|
-
// 1. Configure SDK with RPC endpoint
|
|
89
|
+
// 1. Configure SDK with RPC endpoint
|
|
83
90
|
setConfig({
|
|
84
91
|
programs: 'atlasnet',
|
|
85
|
-
rpcUrl: 'https://api.atlasnet.solana.com'
|
|
92
|
+
rpcUrl: 'https://api.atlasnet.solana.com',
|
|
93
|
+
solanaLibrary: 'web3js' // Optional: specify web3.js preference
|
|
86
94
|
});
|
|
87
95
|
|
|
88
|
-
// 2. Pack
|
|
96
|
+
// 2. Pack using web3.js-optimized method
|
|
89
97
|
const packedTx = await createContract({
|
|
90
98
|
owner: walletPublicKey,
|
|
91
99
|
fleet: fleetAddress,
|
|
@@ -93,24 +101,25 @@ const packedTx = await createContract({
|
|
|
93
101
|
rate: 1000000, // ATLAS tokens per payment period
|
|
94
102
|
durationMax: days(7), // 7 days using helper function
|
|
95
103
|
paymentsFreq: 'daily' // Minimum duration automatically set to 1 day
|
|
96
|
-
}).
|
|
104
|
+
}).packWeb3js(walletPublicKey); // Creates web3.js Transaction object
|
|
97
105
|
|
|
98
|
-
//
|
|
106
|
+
// Option A: Use SDK's built-in send (handles signing + sending)
|
|
107
|
+
const signature = await packedTx.send(walletSigner);
|
|
108
|
+
|
|
109
|
+
// Option B: Direct wallet adapter integration
|
|
99
110
|
import { useWallet } from '@solana/wallet-adapter-react';
|
|
100
|
-
import {
|
|
111
|
+
import { Connection } from '@solana/web3.js';
|
|
101
112
|
|
|
102
113
|
const wallet = useWallet();
|
|
114
|
+
const connection = new Connection(rpcUrl);
|
|
103
115
|
|
|
104
|
-
//
|
|
105
|
-
const
|
|
106
|
-
const versionedTx = new VersionedTransaction(versionedMessage);
|
|
107
|
-
const signedTx = await wallet.signTransaction(versionedTx);
|
|
108
|
-
|
|
109
|
-
// Send the signed transaction
|
|
116
|
+
// Use the ready-to-go Transaction object directly
|
|
117
|
+
const signedTx = await wallet.signTransaction(packedTx.transaction);
|
|
110
118
|
const signature = await connection.sendRawTransaction(signedTx.serialize());
|
|
111
119
|
|
|
112
|
-
//
|
|
113
|
-
|
|
120
|
+
// Option C: Auto-detect library (will use web3.js if kit isn't available)
|
|
121
|
+
const packedTx2 = await createContract(params)
|
|
122
|
+
.pack(walletPublicKey); // Auto-detects and uses best available library
|
|
114
123
|
```
|
|
115
124
|
|
|
116
125
|
### Option 3: Manual Instruction Building
|
package/dist/cjs/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wuwei-labs/srsly",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.26",
|
|
4
4
|
"description": "",
|
|
5
5
|
"source": "./src/index.ts",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -38,7 +38,6 @@
|
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@codama/nodes-from-anchor": "^1.1.13",
|
|
40
40
|
"@codama/renderers": "^1.0.21",
|
|
41
|
-
"@solana/web3.js": "^1.98.2",
|
|
42
41
|
"@types/node": "^24.0.3",
|
|
43
42
|
"codama": "^1.2.13",
|
|
44
43
|
"tsconfig-to-dual-package": "^1.2.0",
|
|
@@ -46,9 +45,17 @@
|
|
|
46
45
|
"typescript": "^5.8.3",
|
|
47
46
|
"vitest": "^3.2.4"
|
|
48
47
|
},
|
|
49
|
-
"
|
|
50
|
-
"@solana/kit": "
|
|
51
|
-
"@
|
|
48
|
+
"peerDependencies": {
|
|
49
|
+
"@solana/kit": ">=2.0.0",
|
|
50
|
+
"@solana/web3.js": ">=1.95.0"
|
|
51
|
+
},
|
|
52
|
+
"peerDependenciesMeta": {
|
|
53
|
+
"@solana/kit": {
|
|
54
|
+
"optional": true
|
|
55
|
+
},
|
|
56
|
+
"@solana/web3.js": {
|
|
57
|
+
"optional": true
|
|
58
|
+
}
|
|
52
59
|
},
|
|
53
60
|
"type": "commonjs"
|
|
54
61
|
}
|
package/dist/cjs/utils/config.js
CHANGED
|
@@ -40,13 +40,14 @@ exports.resolveProgramAddresses = resolveProgramAddresses;
|
|
|
40
40
|
exports.setConfig = setConfig;
|
|
41
41
|
exports.getConfig = getConfig;
|
|
42
42
|
exports.clearConfig = clearConfig;
|
|
43
|
+
exports.getEffectiveConfig = getEffectiveConfig;
|
|
43
44
|
exports.getModule = getModule;
|
|
44
45
|
exports.getCachedNetworkModule = getCachedNetworkModule;
|
|
45
46
|
exports.createConfigSelector = createConfigSelector;
|
|
46
47
|
// Single codama output - network agnostic
|
|
47
48
|
const instructions = __importStar(require("../codama/instructions"));
|
|
48
49
|
const programs = __importStar(require("../codama/programs"));
|
|
49
|
-
const
|
|
50
|
+
const pack_functions_1 = require("./pack-functions");
|
|
50
51
|
const PROGRAM_SETS = {
|
|
51
52
|
mainnet: {
|
|
52
53
|
SAGE_PROGRAM_ADDRESS: 'SAGE2HAwep459SNq61LHvjxPk4pLPEJLoMETef7f7EE',
|
|
@@ -158,34 +159,6 @@ async function getCachedNetworkModule(modulePath) {
|
|
|
158
159
|
}
|
|
159
160
|
return getModule(modulePath);
|
|
160
161
|
}
|
|
161
|
-
/**
|
|
162
|
-
* Ensures the input is a proper Uint8Array compatible with web3.js
|
|
163
|
-
* Handles various TypedArray formats that @solana/kit might return
|
|
164
|
-
*/
|
|
165
|
-
function ensureUint8Array(input) {
|
|
166
|
-
// If it's already a standard Uint8Array, return as-is
|
|
167
|
-
if (input instanceof Uint8Array && input.constructor === Uint8Array) {
|
|
168
|
-
return input;
|
|
169
|
-
}
|
|
170
|
-
// Handle various ArrayBufferView types (including ReadonlyUint8Array)
|
|
171
|
-
if (ArrayBuffer.isView(input)) {
|
|
172
|
-
return new Uint8Array(input.buffer, input.byteOffset, input.byteLength);
|
|
173
|
-
}
|
|
174
|
-
// Handle objects with buffer property (some Node.js environments)
|
|
175
|
-
if (input && input.buffer && typeof input.byteLength === 'number') {
|
|
176
|
-
return new Uint8Array(input.buffer, input.byteOffset || 0, input.byteLength);
|
|
177
|
-
}
|
|
178
|
-
// Handle array-like objects and iterables
|
|
179
|
-
if (input && typeof input.length === 'number') {
|
|
180
|
-
return new Uint8Array(input);
|
|
181
|
-
}
|
|
182
|
-
// Handle objects that might be iterable but don't have length
|
|
183
|
-
if (input && typeof input[Symbol.iterator] === 'function') {
|
|
184
|
-
return new Uint8Array(Array.from(input));
|
|
185
|
-
}
|
|
186
|
-
// Fallback: try to create from the input directly
|
|
187
|
-
return new Uint8Array(input);
|
|
188
|
-
}
|
|
189
162
|
/**
|
|
190
163
|
* Create a chainable packed transaction that allows .pack().send() without double await
|
|
191
164
|
*
|
|
@@ -243,58 +216,27 @@ function createChainableConfigSelector(executeFn, existingConfig) {
|
|
|
243
216
|
const selector = {
|
|
244
217
|
set: (additionalOptions) => createChainableConfigSelector(executeFn, { ...existingConfig, ...additionalOptions }),
|
|
245
218
|
build: () => executeFn(existingConfig),
|
|
219
|
+
packKit: (feePayer) => {
|
|
220
|
+
const packedTxPromise = (async () => {
|
|
221
|
+
const instruction = await executeFn(existingConfig);
|
|
222
|
+
const effectiveConfig = getEffectiveConfig(existingConfig);
|
|
223
|
+
return await (0, pack_functions_1.packWithKit)(instruction, feePayer, effectiveConfig);
|
|
224
|
+
})();
|
|
225
|
+
return createChainablePackedTransaction(packedTxPromise);
|
|
226
|
+
},
|
|
227
|
+
packWeb3js: (feePayer) => {
|
|
228
|
+
const packedTxPromise = (async () => {
|
|
229
|
+
const instruction = await executeFn(existingConfig);
|
|
230
|
+
const effectiveConfig = getEffectiveConfig(existingConfig);
|
|
231
|
+
return await (0, pack_functions_1.packWithWeb3js)(instruction, feePayer, effectiveConfig);
|
|
232
|
+
})();
|
|
233
|
+
return createChainablePackedTransaction(packedTxPromise);
|
|
234
|
+
},
|
|
246
235
|
pack: (feePayer) => {
|
|
247
236
|
const packedTxPromise = (async () => {
|
|
248
237
|
const instruction = await executeFn(existingConfig);
|
|
249
238
|
const effectiveConfig = getEffectiveConfig(existingConfig);
|
|
250
|
-
|
|
251
|
-
if (!resolvedAddresses.rpcUrl) {
|
|
252
|
-
const networkType = effectiveConfig.programs || 'unknown';
|
|
253
|
-
if (networkType === 'atlasnet' || networkType === 'holosim') {
|
|
254
|
-
throw new Error(`RPC URL is required for ${networkType} network. Please provide your RPC endpoint via setConfig({ rpcUrl: "your-rpc-url-with-api-key" }) or .set({ rpcUrl: "your-rpc-url-with-api-key" })`);
|
|
255
|
-
}
|
|
256
|
-
throw new Error('RPC URL is required for creating transactions. Please set it via setConfig({ rpcUrl: "..." }) or provide it in .set({ rpcUrl: "..." })');
|
|
257
|
-
}
|
|
258
|
-
// Create RPC connection to get latest blockhash
|
|
259
|
-
const rpc = (0, kit_1.createSolanaRpc)(resolvedAddresses.rpcUrl);
|
|
260
|
-
const { value: latestBlockhash } = await rpc.getLatestBlockhash().send();
|
|
261
|
-
// Build unsigned transaction message
|
|
262
|
-
const transactionMessage = (0, kit_1.pipe)((0, kit_1.createTransactionMessage)({ version: 0 }), (msg) => (0, kit_1.setTransactionMessageFeePayer)(feePayer, msg), (msg) => (0, kit_1.setTransactionMessageLifetimeUsingBlockhash)(latestBlockhash, msg), (msg) => (0, kit_1.appendTransactionMessageInstructions)([instruction], msg));
|
|
263
|
-
// Compile to unsigned transaction
|
|
264
|
-
const unsignedTransaction = (0, kit_1.compileTransaction)(transactionMessage);
|
|
265
|
-
// Return raw messageBytes - users can convert to web3.js format if needed:
|
|
266
|
-
// import { VersionedTransaction, VersionedMessage } from '@solana/web3.js';
|
|
267
|
-
// const versionedMessage = VersionedMessage.deserialize(messageBytes);
|
|
268
|
-
// const versionedTx = new VersionedTransaction(versionedMessage);
|
|
269
|
-
const messageBytes = ensureUint8Array(unsignedTransaction.messageBytes);
|
|
270
|
-
// Return PackedTransaction with send() method
|
|
271
|
-
return {
|
|
272
|
-
messageBytes,
|
|
273
|
-
signatures: unsignedTransaction.signatures,
|
|
274
|
-
send: async (signer) => {
|
|
275
|
-
// Create RPC connections for sending
|
|
276
|
-
const sendRpc = (0, kit_1.createSolanaRpc)(resolvedAddresses.rpcUrl);
|
|
277
|
-
const rpcSubscriptions = (0, kit_1.createSolanaRpcSubscriptions)(resolvedAddresses.rpcUrl.replace('https:', 'wss:').replace('http:', 'ws:'));
|
|
278
|
-
// Build transaction message with signer
|
|
279
|
-
const signerTransactionMessage = (0, kit_1.pipe)((0, kit_1.createTransactionMessage)({ version: 0 }), (msg) => (0, kit_1.setTransactionMessageFeePayerSigner)(signer, msg), (msg) => (0, kit_1.setTransactionMessageLifetimeUsingBlockhash)(latestBlockhash, msg), (msg) => (0, kit_1.appendTransactionMessageInstructions)([instruction], msg));
|
|
280
|
-
// Sign transaction
|
|
281
|
-
const signedTransaction = await (0, kit_1.signTransactionMessageWithSigners)(signerTransactionMessage);
|
|
282
|
-
// Send and confirm transaction
|
|
283
|
-
const sendAndConfirmTransaction = (0, kit_1.sendAndConfirmTransactionFactory)({ rpc: sendRpc, rpcSubscriptions: rpcSubscriptions });
|
|
284
|
-
try {
|
|
285
|
-
await sendAndConfirmTransaction(signedTransaction, {
|
|
286
|
-
commitment: effectiveConfig.transactionOptions?.commitment || 'confirmed',
|
|
287
|
-
skipPreflight: effectiveConfig.transactionOptions?.skipPreflight || false
|
|
288
|
-
});
|
|
289
|
-
// Extract and return the signature
|
|
290
|
-
const signature = (0, kit_1.getSignatureFromTransaction)(signedTransaction);
|
|
291
|
-
return signature;
|
|
292
|
-
}
|
|
293
|
-
catch (error) {
|
|
294
|
-
throw new Error(`Transaction failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
};
|
|
239
|
+
return await (0, pack_functions_1.packWithAuto)(instruction, feePayer, effectiveConfig);
|
|
298
240
|
})();
|
|
299
241
|
return createChainablePackedTransaction(packedTxPromise);
|
|
300
242
|
},
|
|
@@ -328,60 +270,27 @@ function createConfigSelector(executeFn) {
|
|
|
328
270
|
const selector = {
|
|
329
271
|
set: (options) => createChainableConfigSelector(executeFn, getEffectiveConfig(options)),
|
|
330
272
|
build: () => executeFn(getEffectiveConfig()),
|
|
273
|
+
packKit: (feePayer) => {
|
|
274
|
+
const packedTxPromise = (async () => {
|
|
275
|
+
const instruction = await executeFn(getEffectiveConfig());
|
|
276
|
+
const effectiveConfig = getEffectiveConfig();
|
|
277
|
+
return await (0, pack_functions_1.packWithKit)(instruction, feePayer, effectiveConfig);
|
|
278
|
+
})();
|
|
279
|
+
return createChainablePackedTransaction(packedTxPromise);
|
|
280
|
+
},
|
|
281
|
+
packWeb3js: (feePayer) => {
|
|
282
|
+
const packedTxPromise = (async () => {
|
|
283
|
+
const instruction = await executeFn(getEffectiveConfig());
|
|
284
|
+
const effectiveConfig = getEffectiveConfig();
|
|
285
|
+
return await (0, pack_functions_1.packWithWeb3js)(instruction, feePayer, effectiveConfig);
|
|
286
|
+
})();
|
|
287
|
+
return createChainablePackedTransaction(packedTxPromise);
|
|
288
|
+
},
|
|
331
289
|
pack: (feePayer) => {
|
|
332
290
|
const packedTxPromise = (async () => {
|
|
333
291
|
const instruction = await executeFn(getEffectiveConfig());
|
|
334
292
|
const effectiveConfig = getEffectiveConfig();
|
|
335
|
-
|
|
336
|
-
if (!resolvedAddresses.rpcUrl) {
|
|
337
|
-
const networkType = effectiveConfig.programs || 'unknown';
|
|
338
|
-
if (networkType === 'atlasnet' || networkType === 'holosim') {
|
|
339
|
-
throw new Error(`RPC URL is required for ${networkType} network. Please provide your RPC endpoint via setConfig({ rpcUrl: "your-rpc-url-with-api-key" }) or .set({ rpcUrl: "your-rpc-url-with-api-key" })`);
|
|
340
|
-
}
|
|
341
|
-
throw new Error('RPC URL is required for creating transactions. Please set it via setConfig({ rpcUrl: "..." }) or provide it in .set({ rpcUrl: "..." })');
|
|
342
|
-
}
|
|
343
|
-
// Create RPC connection to get latest blockhash
|
|
344
|
-
const rpc = (0, kit_1.createSolanaRpc)(resolvedAddresses.rpcUrl);
|
|
345
|
-
const { value: latestBlockhash } = await rpc.getLatestBlockhash().send();
|
|
346
|
-
// Build unsigned transaction message
|
|
347
|
-
const transactionMessage = (0, kit_1.pipe)((0, kit_1.createTransactionMessage)({ version: 0 }), (msg) => (0, kit_1.setTransactionMessageFeePayer)(feePayer, msg), (msg) => (0, kit_1.setTransactionMessageLifetimeUsingBlockhash)(latestBlockhash, msg), (msg) => (0, kit_1.appendTransactionMessageInstructions)([instruction], msg));
|
|
348
|
-
// Compile to unsigned transaction
|
|
349
|
-
const unsignedTransaction = (0, kit_1.compileTransaction)(transactionMessage);
|
|
350
|
-
// Create a web3.js compatible transaction by converting messageBytes to VersionedMessage
|
|
351
|
-
const { VersionedTransaction, VersionedMessage } = await Promise.resolve().then(() => __importStar(require('@solana/web3.js')));
|
|
352
|
-
const messageUint8Array = ensureUint8Array(unsignedTransaction.messageBytes);
|
|
353
|
-
const versionedMessage = VersionedMessage.deserialize(messageUint8Array);
|
|
354
|
-
const versionedTx = new VersionedTransaction(versionedMessage);
|
|
355
|
-
// Serialize to get proper messageBytes that can be deserialized by web3.js
|
|
356
|
-
const messageBytes = ensureUint8Array(versionedTx.serialize());
|
|
357
|
-
// Return PackedTransaction with send() method
|
|
358
|
-
return {
|
|
359
|
-
messageBytes,
|
|
360
|
-
signatures: unsignedTransaction.signatures,
|
|
361
|
-
send: async (signer) => {
|
|
362
|
-
// Create RPC connections for sending
|
|
363
|
-
const sendRpc = (0, kit_1.createSolanaRpc)(resolvedAddresses.rpcUrl);
|
|
364
|
-
const rpcSubscriptions = (0, kit_1.createSolanaRpcSubscriptions)(resolvedAddresses.rpcUrl.replace('https:', 'wss:').replace('http:', 'ws:'));
|
|
365
|
-
// Build transaction message with signer
|
|
366
|
-
const signerTransactionMessage = (0, kit_1.pipe)((0, kit_1.createTransactionMessage)({ version: 0 }), (msg) => (0, kit_1.setTransactionMessageFeePayerSigner)(signer, msg), (msg) => (0, kit_1.setTransactionMessageLifetimeUsingBlockhash)(latestBlockhash, msg), (msg) => (0, kit_1.appendTransactionMessageInstructions)([instruction], msg));
|
|
367
|
-
// Sign transaction
|
|
368
|
-
const signedTransaction = await (0, kit_1.signTransactionMessageWithSigners)(signerTransactionMessage);
|
|
369
|
-
// Send and confirm transaction
|
|
370
|
-
const sendAndConfirmTransaction = (0, kit_1.sendAndConfirmTransactionFactory)({ rpc: sendRpc, rpcSubscriptions: rpcSubscriptions });
|
|
371
|
-
try {
|
|
372
|
-
await sendAndConfirmTransaction(signedTransaction, {
|
|
373
|
-
commitment: effectiveConfig.transactionOptions?.commitment || 'confirmed',
|
|
374
|
-
skipPreflight: effectiveConfig.transactionOptions?.skipPreflight || false
|
|
375
|
-
});
|
|
376
|
-
// Extract and return the signature
|
|
377
|
-
const signature = (0, kit_1.getSignatureFromTransaction)(signedTransaction);
|
|
378
|
-
return signature;
|
|
379
|
-
}
|
|
380
|
-
catch (error) {
|
|
381
|
-
throw new Error(`Transaction failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
|
-
};
|
|
293
|
+
return await (0, pack_functions_1.packWithAuto)(instruction, feePayer, effectiveConfig);
|
|
385
294
|
})();
|
|
386
295
|
return createChainablePackedTransaction(packedTxPromise);
|
|
387
296
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/utils/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/utils/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,13 +9,13 @@ exports.getProfileFactionProgramAddress = getProfileFactionProgramAddress;
|
|
|
9
9
|
exports.getSageGameId = getSageGameId;
|
|
10
10
|
exports.getAtlasMint = getAtlasMint;
|
|
11
11
|
const config_1 = require("./config");
|
|
12
|
-
const kit_1 = require("@solana/kit");
|
|
13
12
|
/**
|
|
14
13
|
* Converts a string or Address to an Address type
|
|
15
14
|
* This utility ensures consistent address handling across the SDK
|
|
15
|
+
* Note: This is a simple passthrough now since pack functions handle library-specific conversions
|
|
16
16
|
*/
|
|
17
17
|
function toAddress(value) {
|
|
18
|
-
return
|
|
18
|
+
return value;
|
|
19
19
|
}
|
|
20
20
|
// Seed constants
|
|
21
21
|
exports.STARBASE_SEED = 'Starbase';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Pack function implementations for different Solana libraries
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.packWithKit = packWithKit;
|
|
40
|
+
exports.packWithWeb3js = packWithWeb3js;
|
|
41
|
+
exports.packWithAuto = packWithAuto;
|
|
42
|
+
const config_1 = require("./config");
|
|
43
|
+
/**
|
|
44
|
+
* Pack instruction using @solana/kit
|
|
45
|
+
*/
|
|
46
|
+
async function packWithKit(instruction, feePayer, config) {
|
|
47
|
+
const kit = await Promise.resolve().then(() => __importStar(require('@solana/kit')));
|
|
48
|
+
const { createSolanaRpc, createSolanaRpcSubscriptions, createTransactionMessage, setTransactionMessageFeePayer, setTransactionMessageFeePayerSigner, setTransactionMessageLifetimeUsingBlockhash, appendTransactionMessageInstructions, compileTransaction, signTransactionMessageWithSigners, sendAndConfirmTransactionFactory, getSignatureFromTransaction, pipe, address } = kit;
|
|
49
|
+
const resolvedAddresses = (0, config_1.resolveProgramAddresses)(config);
|
|
50
|
+
if (!resolvedAddresses.rpcUrl) {
|
|
51
|
+
throw new Error('RPC URL is required for creating transactions. Please set it via setConfig({ rpcUrl: "..." })');
|
|
52
|
+
}
|
|
53
|
+
// Create RPC connection to get latest blockhash
|
|
54
|
+
const rpc = createSolanaRpc(resolvedAddresses.rpcUrl);
|
|
55
|
+
const { value: latestBlockhash } = await rpc.getLatestBlockhash().send();
|
|
56
|
+
// Convert feePayer to proper Address type
|
|
57
|
+
const feePayerAddress = typeof feePayer === 'string' ? address(feePayer) : feePayer;
|
|
58
|
+
// Build unsigned transaction message
|
|
59
|
+
const transactionMessage = pipe(createTransactionMessage({ version: 0 }), (msg) => setTransactionMessageFeePayer(feePayerAddress, msg), (msg) => setTransactionMessageLifetimeUsingBlockhash(latestBlockhash, msg), (msg) => appendTransactionMessageInstructions([instruction], msg));
|
|
60
|
+
// Compile to unsigned transaction
|
|
61
|
+
const unsignedTransaction = compileTransaction(transactionMessage);
|
|
62
|
+
return {
|
|
63
|
+
messageBytes: new Uint8Array(unsignedTransaction.messageBytes),
|
|
64
|
+
signatures: [], // Empty for unsigned transactions
|
|
65
|
+
send: async (signer) => {
|
|
66
|
+
// Create RPC connections for sending
|
|
67
|
+
const sendRpc = createSolanaRpc(resolvedAddresses.rpcUrl);
|
|
68
|
+
const rpcSubscriptions = createSolanaRpcSubscriptions(resolvedAddresses.rpcUrl.replace('https:', 'wss:').replace('http:', 'ws:'));
|
|
69
|
+
// Build transaction message with signer
|
|
70
|
+
const signerTransactionMessage = pipe(createTransactionMessage({ version: 0 }), (msg) => setTransactionMessageFeePayerSigner(signer, msg), (msg) => setTransactionMessageLifetimeUsingBlockhash(latestBlockhash, msg), (msg) => appendTransactionMessageInstructions([instruction], msg));
|
|
71
|
+
// Sign transaction
|
|
72
|
+
const signedTransaction = await signTransactionMessageWithSigners(signerTransactionMessage);
|
|
73
|
+
// Send and confirm transaction
|
|
74
|
+
const sendAndConfirmTransaction = sendAndConfirmTransactionFactory({
|
|
75
|
+
rpc: sendRpc,
|
|
76
|
+
rpcSubscriptions: rpcSubscriptions
|
|
77
|
+
});
|
|
78
|
+
try {
|
|
79
|
+
await sendAndConfirmTransaction(signedTransaction, {
|
|
80
|
+
commitment: config.transactionOptions?.commitment || 'confirmed',
|
|
81
|
+
skipPreflight: config.transactionOptions?.skipPreflight || false
|
|
82
|
+
});
|
|
83
|
+
// Extract and return the signature
|
|
84
|
+
const signature = getSignatureFromTransaction(signedTransaction);
|
|
85
|
+
return signature;
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
throw new Error(`Transaction failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Pack instruction using @solana/web3.js
|
|
95
|
+
*/
|
|
96
|
+
async function packWithWeb3js(instruction, feePayer, config) {
|
|
97
|
+
const web3 = await Promise.resolve().then(() => __importStar(require('@solana/web3.js')));
|
|
98
|
+
const { Connection, Transaction, PublicKey, sendAndConfirmTransaction } = web3;
|
|
99
|
+
const resolvedAddresses = (0, config_1.resolveProgramAddresses)(config);
|
|
100
|
+
if (!resolvedAddresses.rpcUrl) {
|
|
101
|
+
throw new Error('RPC URL is required for creating transactions. Please set it via setConfig({ rpcUrl: "..." })');
|
|
102
|
+
}
|
|
103
|
+
const connection = new Connection(resolvedAddresses.rpcUrl, 'confirmed');
|
|
104
|
+
// Convert feePayer to PublicKey
|
|
105
|
+
const feePayerPubkey = typeof feePayer === 'string' ? new PublicKey(feePayer) : feePayer;
|
|
106
|
+
// Create transaction and add instruction
|
|
107
|
+
const transaction = new Transaction();
|
|
108
|
+
transaction.add(instruction);
|
|
109
|
+
transaction.feePayer = feePayerPubkey;
|
|
110
|
+
// Get recent blockhash
|
|
111
|
+
const { blockhash } = await connection.getLatestBlockhash();
|
|
112
|
+
transaction.recentBlockhash = blockhash;
|
|
113
|
+
return {
|
|
114
|
+
messageBytes: transaction.serializeMessage(),
|
|
115
|
+
signatures: [],
|
|
116
|
+
transaction, // Include the actual Transaction object
|
|
117
|
+
send: async (signer) => {
|
|
118
|
+
// Sign and send transaction
|
|
119
|
+
transaction.sign(signer);
|
|
120
|
+
const signature = await sendAndConfirmTransaction(connection, transaction, [signer], {
|
|
121
|
+
commitment: config.transactionOptions?.commitment || 'confirmed',
|
|
122
|
+
skipPreflight: config.transactionOptions?.skipPreflight || false
|
|
123
|
+
});
|
|
124
|
+
return signature;
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Auto-detect and pack with the best available library
|
|
130
|
+
*/
|
|
131
|
+
async function packWithAuto(instruction, feePayer, config) {
|
|
132
|
+
// Prefer @solana/kit if available
|
|
133
|
+
try {
|
|
134
|
+
await Promise.resolve().then(() => __importStar(require('@solana/kit')));
|
|
135
|
+
return await packWithKit(instruction, feePayer, config);
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
// Fallback to @solana/web3.js
|
|
139
|
+
try {
|
|
140
|
+
await Promise.resolve().then(() => __importStar(require('@solana/web3.js')));
|
|
141
|
+
return await packWithWeb3js(instruction, feePayer, config);
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
throw new Error('No Solana library found. Please install either @solana/kit (recommended) or @solana/web3.js as a peer dependency.');
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=pack-functions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pack-functions.js","sourceRoot":"","sources":["../../../src/utils/pack-functions.ts"],"names":[],"mappings":"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"}
|