@wuwei-labs/srsly 2.0.0-beta.24 → 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.
Files changed (77) hide show
  1. package/README.md +172 -61
  2. package/dist/cjs/codama/errors/srsly.js +7 -1
  3. package/dist/cjs/codama/errors/srsly.js.map +1 -1
  4. package/dist/cjs/contract/create.js +13 -2
  5. package/dist/cjs/contract/create.js.map +1 -1
  6. package/dist/cjs/index.js +25 -4
  7. package/dist/cjs/index.js.map +1 -1
  8. package/dist/cjs/package.json +12 -5
  9. package/dist/cjs/types/paymentFrequency.js +58 -0
  10. package/dist/cjs/types/paymentFrequency.js.map +1 -0
  11. package/dist/cjs/utils/config.js +36 -127
  12. package/dist/cjs/utils/config.js.map +1 -1
  13. package/dist/cjs/utils/constants.js +5 -22
  14. package/dist/cjs/utils/constants.js.map +1 -1
  15. package/dist/cjs/utils/duration.js +77 -0
  16. package/dist/cjs/utils/duration.js.map +1 -0
  17. package/dist/cjs/utils/index.js +2 -0
  18. package/dist/cjs/utils/index.js.map +1 -1
  19. package/dist/cjs/utils/pack-functions.js +148 -0
  20. package/dist/cjs/utils/pack-functions.js.map +1 -0
  21. package/dist/cjs/utils/paymentFrequency.js +60 -0
  22. package/dist/cjs/utils/paymentFrequency.js.map +1 -0
  23. package/dist/cjs/utils/solana-adapter.js +120 -0
  24. package/dist/cjs/utils/solana-adapter.js.map +1 -0
  25. package/dist/cjs/utils/types.js +6 -0
  26. package/dist/cjs/utils/types.js.map +1 -0
  27. package/dist/esm/codama/errors/srsly.js +6 -0
  28. package/dist/esm/codama/errors/srsly.js.map +1 -1
  29. package/dist/esm/contract/create.js +13 -2
  30. package/dist/esm/contract/create.js.map +1 -1
  31. package/dist/esm/index.js +8 -2
  32. package/dist/esm/index.js.map +1 -1
  33. package/dist/esm/package.json +12 -5
  34. package/dist/esm/types/paymentFrequency.js +53 -0
  35. package/dist/esm/types/paymentFrequency.js.map +1 -0
  36. package/dist/esm/utils/config.js +36 -128
  37. package/dist/esm/utils/config.js.map +1 -1
  38. package/dist/esm/utils/constants.js +4 -20
  39. package/dist/esm/utils/constants.js.map +1 -1
  40. package/dist/esm/utils/duration.js +68 -0
  41. package/dist/esm/utils/duration.js.map +1 -0
  42. package/dist/esm/utils/index.js +2 -0
  43. package/dist/esm/utils/index.js.map +1 -1
  44. package/dist/esm/utils/pack-functions.js +110 -0
  45. package/dist/esm/utils/pack-functions.js.map +1 -0
  46. package/dist/esm/utils/paymentFrequency.js +55 -0
  47. package/dist/esm/utils/paymentFrequency.js.map +1 -0
  48. package/dist/esm/utils/solana-adapter.js +82 -0
  49. package/dist/esm/utils/solana-adapter.js.map +1 -0
  50. package/dist/esm/utils/types.js +5 -0
  51. package/dist/esm/utils/types.js.map +1 -0
  52. package/dist/types/codama/errors/srsly.d.ts +5 -1
  53. package/dist/types/codama/errors/srsly.d.ts.map +1 -1
  54. package/dist/types/contract/create.d.ts +7 -5
  55. package/dist/types/contract/create.d.ts.map +1 -1
  56. package/dist/types/index.d.ts +4 -1
  57. package/dist/types/index.d.ts.map +1 -1
  58. package/dist/types/types/paymentFrequency.d.ts +44 -0
  59. package/dist/types/types/paymentFrequency.d.ts.map +1 -0
  60. package/dist/types/utils/config.d.ts +35 -18
  61. package/dist/types/utils/config.d.ts.map +1 -1
  62. package/dist/types/utils/constants.d.ts +8 -21
  63. package/dist/types/utils/constants.d.ts.map +1 -1
  64. package/dist/types/utils/duration.d.ts +56 -0
  65. package/dist/types/utils/duration.d.ts.map +1 -0
  66. package/dist/types/utils/index.d.ts +2 -0
  67. package/dist/types/utils/index.d.ts.map +1 -1
  68. package/dist/types/utils/pack-functions.d.ts +18 -0
  69. package/dist/types/utils/pack-functions.d.ts.map +1 -0
  70. package/dist/types/utils/paymentFrequency.d.ts +18 -0
  71. package/dist/types/utils/paymentFrequency.d.ts.map +1 -0
  72. package/dist/types/utils/solana-adapter.d.ts +26 -0
  73. package/dist/types/utils/solana-adapter.d.ts.map +1 -0
  74. package/dist/types/utils/types.d.ts +14 -0
  75. package/dist/types/utils/types.d.ts.map +1 -0
  76. package/package.json +12 -5
  77. package/target/idl/srsly.json +10 -0
@@ -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 kit_1 = require("@solana/kit");
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
- const resolvedAddresses = resolveProgramAddresses(effectiveConfig);
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
- const resolvedAddresses = resolveProgramAddresses(effectiveConfig);
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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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FACTION_MAPPING = exports.FACTION_SPECIFIC_CSS = exports.PaymentFrequency = exports.ATLAS_TO_STARDUST = exports.PROFILE_FACTION_SEED = exports.SAGE_PLAYER_PROFILE_SEED = exports.STARBASE_PLAYER_SEED = exports.STARBASE_SEED = void 0;
3
+ exports.FACTION_MAPPING = exports.FACTION_SPECIFIC_CSS = exports.ATLAS_TO_STARDUST = exports.PROFILE_FACTION_SEED = exports.SAGE_PLAYER_PROFILE_SEED = exports.STARBASE_PLAYER_SEED = exports.STARBASE_SEED = void 0;
4
4
  exports.toAddress = toAddress;
5
5
  exports.getSrslyProgramAddress = getSrslyProgramAddress;
6
6
  exports.getProgramId = getProgramId;
@@ -8,15 +8,14 @@ exports.getSageProgramAddress = getSageProgramAddress;
8
8
  exports.getProfileFactionProgramAddress = getProfileFactionProgramAddress;
9
9
  exports.getSageGameId = getSageGameId;
10
10
  exports.getAtlasMint = getAtlasMint;
11
- exports.paymentFrequencyToString = paymentFrequencyToString;
12
11
  const config_1 = require("./config");
13
- const kit_1 = require("@solana/kit");
14
12
  /**
15
13
  * Converts a string or Address to an Address type
16
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
17
16
  */
18
17
  function toAddress(value) {
19
- return typeof value === 'string' ? (0, kit_1.address)(value) : value;
18
+ return value;
20
19
  }
21
20
  // Seed constants
22
21
  exports.STARBASE_SEED = 'Starbase';
@@ -25,18 +24,7 @@ exports.SAGE_PLAYER_PROFILE_SEED = 'sage_player_profile';
25
24
  exports.PROFILE_FACTION_SEED = 'profile_faction';
26
25
  // Token conversion constants
27
26
  exports.ATLAS_TO_STARDUST = 100_000_000; // 1 ATLAS = 100,000,000 stardust
28
- // PaymentFrequency enum to match the Rust program
29
- var PaymentFrequency;
30
- (function (PaymentFrequency) {
31
- PaymentFrequency[PaymentFrequency["Hourly"] = 0] = "Hourly";
32
- PaymentFrequency[PaymentFrequency["Daily"] = 1] = "Daily";
33
- PaymentFrequency[PaymentFrequency["DailyOld"] = 2] = "DailyOld";
34
- PaymentFrequency[PaymentFrequency["Weekly"] = 3] = "Weekly";
35
- PaymentFrequency[PaymentFrequency["Monthly"] = 4] = "Monthly";
36
- // Development-only frequencies (not available on mainnet)
37
- PaymentFrequency[PaymentFrequency["Decasecond"] = 5] = "Decasecond";
38
- PaymentFrequency[PaymentFrequency["Minute"] = 6] = "Minute";
39
- })(PaymentFrequency || (exports.PaymentFrequency = PaymentFrequency = {}));
27
+ // PaymentFrequency enum is now exported from codama-generated types
40
28
  // Network constants are now managed in config.ts
41
29
  async function getSrslyProgramAddress(config) {
42
30
  const globalConfig = (0, config_1.getConfig)();
@@ -85,10 +73,5 @@ exports.FACTION_MAPPING = {
85
73
  2: 'oni',
86
74
  3: 'ustur'
87
75
  };
88
- /**
89
- * Convert PaymentFrequency enum to string
90
- */
91
- function paymentFrequencyToString(freq) {
92
- return PaymentFrequency[freq].toLowerCase();
93
- }
76
+ // PaymentFrequency utilities are now in utils/paymentFrequency.ts
94
77
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.duration = void 0;
4
+ exports.decaseconds = decaseconds;
5
+ exports.minutes = minutes;
6
+ exports.hours = hours;
7
+ exports.days = days;
8
+ exports.weeks = weeks;
9
+ exports.months = months;
10
+ const paymentFrequency_1 = require("../types/paymentFrequency");
11
+ /**
12
+ * Duration helper functions for converting time units to seconds
13
+ * Uses the same constants as the payment frequency system for consistency
14
+ */
15
+ const { SECONDS_PER_DECASECOND, SECONDS_PER_MINUTE, SECONDS_PER_HOUR, SECONDS_PER_DAY, SECONDS_PER_WEEK, SECONDS_PER_MONTH } = paymentFrequency_1.PAYMENT_FREQUENCY_CONSTANTS;
16
+ /**
17
+ * Convert decaseconds (10 seconds) to seconds
18
+ * @param amount Number of decaseconds
19
+ * @returns Number of seconds
20
+ */
21
+ function decaseconds(amount) {
22
+ return amount * SECONDS_PER_DECASECOND;
23
+ }
24
+ /**
25
+ * Convert minutes to seconds
26
+ * @param amount Number of minutes
27
+ * @returns Number of seconds
28
+ */
29
+ function minutes(amount) {
30
+ return amount * SECONDS_PER_MINUTE;
31
+ }
32
+ /**
33
+ * Convert hours to seconds
34
+ * @param amount Number of hours
35
+ * @returns Number of seconds
36
+ */
37
+ function hours(amount) {
38
+ return amount * SECONDS_PER_HOUR;
39
+ }
40
+ /**
41
+ * Convert days to seconds
42
+ * @param amount Number of days
43
+ * @returns Number of seconds
44
+ */
45
+ function days(amount) {
46
+ return amount * SECONDS_PER_DAY;
47
+ }
48
+ /**
49
+ * Convert weeks to seconds
50
+ * @param amount Number of weeks
51
+ * @returns Number of seconds
52
+ */
53
+ function weeks(amount) {
54
+ return amount * SECONDS_PER_WEEK;
55
+ }
56
+ /**
57
+ * Convert months to seconds
58
+ * @param amount Number of months (31 days each)
59
+ * @returns Number of seconds
60
+ */
61
+ function months(amount) {
62
+ return amount * SECONDS_PER_MONTH;
63
+ }
64
+ /**
65
+ * All duration helper functions
66
+ */
67
+ exports.duration = {
68
+ decaseconds,
69
+ minutes,
70
+ hours,
71
+ days,
72
+ weeks,
73
+ months,
74
+ // Also expose the raw constants for advanced users
75
+ constants: paymentFrequency_1.PAYMENT_FREQUENCY_CONSTANTS,
76
+ };
77
+ //# sourceMappingURL=duration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../src/utils/duration.ts"],"names":[],"mappings":";;;AAqBA,kCAEC;AAOD,0BAEC;AAOD,sBAEC;AAOD,oBAEC;AAOD,sBAEC;AAOD,wBAEC;AApED,gEAAwE;AAExE;;;GAGG;AAEH,MAAM,EACJ,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EAClB,GAAG,8CAA2B,CAAC;AAEhC;;;;GAIG;AACH,SAAgB,WAAW,CAAC,MAAc;IACxC,OAAO,MAAM,GAAG,sBAAsB,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,SAAgB,OAAO,CAAC,MAAc;IACpC,OAAO,MAAM,GAAG,kBAAkB,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,SAAgB,KAAK,CAAC,MAAc;IAClC,OAAO,MAAM,GAAG,gBAAgB,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,SAAgB,IAAI,CAAC,MAAc;IACjC,OAAO,MAAM,GAAG,eAAe,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,SAAgB,KAAK,CAAC,MAAc;IAClC,OAAO,MAAM,GAAG,gBAAgB,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,SAAgB,MAAM,CAAC,MAAc;IACnC,OAAO,MAAM,GAAG,iBAAiB,CAAC;AACpC,CAAC;AAED;;GAEG;AACU,QAAA,QAAQ,GAAG;IACtB,WAAW;IACX,OAAO;IACP,KAAK;IACL,IAAI;IACJ,KAAK;IACL,MAAM;IAEN,mDAAmD;IACnD,SAAS,EAAE,8CAA2B;CAC9B,CAAC"}
@@ -17,4 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./constants"), exports);
18
18
  __exportStar(require("./profiles"), exports);
19
19
  __exportStar(require("./config"), exports);
20
+ __exportStar(require("./paymentFrequency"), exports);
21
+ __exportStar(require("./duration"), exports);
20
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6CAA2B;AAC3B,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6CAA2B;AAC3B,2CAAyB;AACzB,qDAAmC;AACnC,6CAA2B"}
@@ -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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"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.paymentFrequencyToSeconds = paymentFrequencyToSeconds;
4
+ exports.paymentFrequencyStringToSeconds = paymentFrequencyStringToSeconds;
5
+ exports.validateDurationAlignment = validateDurationAlignment;
6
+ const paymentFrequency_1 = require("../codama/types/paymentFrequency");
7
+ const paymentFrequency_2 = require("../types/paymentFrequency");
8
+ /**
9
+ * Payment frequency conversion utilities
10
+ * Mirrors the Rust implementation in programs/srsly/src/utils.rs
11
+ * Uses auto-generated constants and mappings from Rust source
12
+ */
13
+ // Auto-synced constants from Rust constants.rs
14
+ const { SECONDS_PER_DECASECOND, SECONDS_PER_MINUTE, SECONDS_PER_HOUR, SECONDS_PER_DAY, SECONDS_PER_WEEK, SECONDS_PER_MONTH } = paymentFrequency_2.PAYMENT_FREQUENCY_CONSTANTS;
15
+ /**
16
+ * Converts a PaymentFrequency enum value to seconds
17
+ * Mirrors the to_seconds() method from the Rust implementation
18
+ */
19
+ function paymentFrequencyToSeconds(frequency) {
20
+ switch (frequency) {
21
+ case paymentFrequency_1.PaymentFrequency.Decasecond:
22
+ return SECONDS_PER_DECASECOND;
23
+ case paymentFrequency_1.PaymentFrequency.Minute:
24
+ return SECONDS_PER_MINUTE;
25
+ case paymentFrequency_1.PaymentFrequency.Hourly:
26
+ return SECONDS_PER_HOUR;
27
+ case paymentFrequency_1.PaymentFrequency.Daily:
28
+ case paymentFrequency_1.PaymentFrequency.DailyOld:
29
+ return SECONDS_PER_DAY;
30
+ case paymentFrequency_1.PaymentFrequency.Weekly:
31
+ return SECONDS_PER_WEEK;
32
+ case paymentFrequency_1.PaymentFrequency.Monthly:
33
+ return SECONDS_PER_MONTH;
34
+ default:
35
+ throw new Error(`Unknown payment frequency: ${frequency}`);
36
+ }
37
+ }
38
+ /**
39
+ * Converts a payment frequency string to seconds
40
+ * Uses auto-generated mapping from Rust PaymentFrequency enum
41
+ */
42
+ function paymentFrequencyStringToSeconds(frequencyString) {
43
+ const frequency = paymentFrequency_2.PAYMENT_FREQUENCY_MAP[frequencyString];
44
+ if (frequency === undefined) {
45
+ throw new Error(`Invalid payment frequency string: ${frequencyString}`);
46
+ }
47
+ return paymentFrequencyToSeconds(frequency);
48
+ }
49
+ /**
50
+ * Validates that a duration is a multiple of the payment frequency
51
+ * Uses auto-generated types from Rust PaymentFrequency enum
52
+ */
53
+ function validateDurationAlignment(duration, frequencyString) {
54
+ const durationNumber = Number(duration);
55
+ const frequencySeconds = paymentFrequencyStringToSeconds(frequencyString);
56
+ if (durationNumber % frequencySeconds !== 0) {
57
+ throw new Error(`Duration (${duration} seconds) must be a multiple of ${frequencyString} frequency (${frequencySeconds} seconds)`);
58
+ }
59
+ }
60
+ //# sourceMappingURL=paymentFrequency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paymentFrequency.js","sourceRoot":"","sources":["../../../src/utils/paymentFrequency.ts"],"names":[],"mappings":";;AA2BA,8DAkBC;AAMD,0EAOC;AAMD,8DAYC;AA5ED,uEAAoE;AACpE,gEAImC;AAEnC;;;;GAIG;AAEH,+CAA+C;AAC/C,MAAM,EACJ,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EAClB,GAAG,8CAA2B,CAAC;AAEhC;;;GAGG;AACH,SAAgB,yBAAyB,CAAC,SAA2B;IACnE,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,mCAAgB,CAAC,UAAU;YAC9B,OAAO,sBAAsB,CAAC;QAChC,KAAK,mCAAgB,CAAC,MAAM;YAC1B,OAAO,kBAAkB,CAAC;QAC5B,KAAK,mCAAgB,CAAC,MAAM;YAC1B,OAAO,gBAAgB,CAAC;QAC1B,KAAK,mCAAgB,CAAC,KAAK,CAAC;QAC5B,KAAK,mCAAgB,CAAC,QAAQ;YAC5B,OAAO,eAAe,CAAC;QACzB,KAAK,mCAAgB,CAAC,MAAM;YAC1B,OAAO,gBAAgB,CAAC;QAC1B,KAAK,mCAAgB,CAAC,OAAO;YAC3B,OAAO,iBAAiB,CAAC;QAC3B;YACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,+BAA+B,CAAC,eAAuC;IACrF,MAAM,SAAS,GAAG,wCAAqB,CAAC,eAAe,CAAC,CAAC;IACzD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,qCAAqC,eAAe,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,yBAAyB,CAAC,SAAS,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,SAAgB,yBAAyB,CACvC,QAAyB,EACzB,eAAuC;IAEvC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,gBAAgB,GAAG,+BAA+B,CAAC,eAAe,CAAC,CAAC;IAE1E,IAAI,cAAc,GAAG,gBAAgB,KAAK,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,aAAa,QAAQ,mCAAmC,eAAe,eAAe,gBAAgB,WAAW,CAClH,CAAC;IACJ,CAAC;AACH,CAAC"}