@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
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ /**
3
+ * Solana library adapter for handling both @solana/kit and @solana/web3.js
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.detectSolanaLibraries = detectSolanaLibraries;
40
+ exports.validateSolanaLibraryAvailability = validateSolanaLibraryAvailability;
41
+ exports.getSolanaLibrary = getSolanaLibrary;
42
+ /**
43
+ * Detects which Solana libraries are available
44
+ */
45
+ async function detectSolanaLibraries() {
46
+ let hasKit = false;
47
+ let hasWeb3js = false;
48
+ try {
49
+ await Promise.resolve().then(() => __importStar(require('@solana/kit')));
50
+ hasKit = true;
51
+ }
52
+ catch {
53
+ // @solana/kit not available
54
+ }
55
+ try {
56
+ await Promise.resolve().then(() => __importStar(require('@solana/web3.js')));
57
+ hasWeb3js = true;
58
+ }
59
+ catch {
60
+ // @solana/web3.js not available
61
+ }
62
+ // Prefer @solana/kit if available, fallback to web3.js
63
+ const preferred = hasKit ? 'kit' : hasWeb3js ? 'web3js' : 'auto';
64
+ return { hasKit, hasWeb3js, preferred };
65
+ }
66
+ /**
67
+ * Validates that at least one Solana library is available
68
+ */
69
+ async function validateSolanaLibraryAvailability() {
70
+ const detection = await detectSolanaLibraries();
71
+ if (!detection.hasKit && !detection.hasWeb3js) {
72
+ throw new Error('No Solana library found. Please install either @solana/kit (recommended) or @solana/web3.js as a peer dependency.');
73
+ }
74
+ }
75
+ /**
76
+ * Gets the appropriate Solana library based on preference and availability
77
+ */
78
+ async function getSolanaLibrary(preference = 'auto') {
79
+ const detection = await detectSolanaLibraries();
80
+ let selectedLibrary;
81
+ switch (preference) {
82
+ case 'kit':
83
+ if (!detection.hasKit) {
84
+ throw new Error('@solana/kit is required but not available. Please install it as a peer dependency.');
85
+ }
86
+ selectedLibrary = 'kit';
87
+ break;
88
+ case 'web3js':
89
+ if (!detection.hasWeb3js) {
90
+ throw new Error('@solana/web3.js is required but not available. Please install it as a peer dependency.');
91
+ }
92
+ selectedLibrary = 'web3js';
93
+ break;
94
+ case 'auto':
95
+ default:
96
+ selectedLibrary = detection.preferred;
97
+ break;
98
+ }
99
+ const result = {
100
+ library: selectedLibrary
101
+ };
102
+ if (selectedLibrary === 'kit' || detection.hasKit) {
103
+ try {
104
+ result.kit = await Promise.resolve().then(() => __importStar(require('@solana/kit')));
105
+ }
106
+ catch {
107
+ // Handle import error gracefully
108
+ }
109
+ }
110
+ if (selectedLibrary === 'web3js' || detection.hasWeb3js) {
111
+ try {
112
+ result.web3js = await Promise.resolve().then(() => __importStar(require('@solana/web3.js')));
113
+ }
114
+ catch {
115
+ // Handle import error gracefully
116
+ }
117
+ }
118
+ return result;
119
+ }
120
+ //# sourceMappingURL=solana-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana-adapter.js","sourceRoot":"","sources":["../../../src/utils/solana-adapter.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaH,sDAsBC;AAKD,8EAQC;AAKD,4CAmDC;AA9FD;;GAEG;AACI,KAAK,UAAU,qBAAqB;IACzC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,IAAI,CAAC;QACH,wDAAa,aAAa,GAAC,CAAC;QAC5B,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,4BAA4B;IAC9B,CAAC;IAED,IAAI,CAAC;QACH,wDAAa,iBAAiB,GAAC,CAAC;QAChC,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,gCAAgC;IAClC,CAAC;IAED,uDAAuD;IACvD,MAAM,SAAS,GAAkB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IAEhF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAC1C,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,iCAAiC;IACrD,MAAM,SAAS,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAEhD,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,mHAAmH,CACpH,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,gBAAgB,CAAC,aAA4B,MAAM;IAKvE,MAAM,SAAS,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAEhD,IAAI,eAA8B,CAAC;IAEnC,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,KAAK;YACR,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAC;YACxG,CAAC;YACD,eAAe,GAAG,KAAK,CAAC;YACxB,MAAM;QAER,KAAK,QAAQ;YACX,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;YAC5G,CAAC;YACD,eAAe,GAAG,QAAQ,CAAC;YAC3B,MAAM;QAER,KAAK,MAAM,CAAC;QACZ;YACE,eAAe,GAAG,SAAS,CAAC,SAAS,CAAC;YACtC,MAAM;IACV,CAAC;IAED,MAAM,MAAM,GAAwD;QAClE,OAAO,EAAE,eAAe;KACzB,CAAC;IAEF,IAAI,eAAe,KAAK,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,GAAG,wDAAa,aAAa,GAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;QACnC,CAAC;IACH,CAAC;IAED,IAAI,eAAe,KAAK,QAAQ,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,CAAC,MAAM,GAAG,wDAAa,iBAAiB,GAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;QACnC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Universal types that work with both @solana/kit and @solana/web3.js
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -49,6 +49,10 @@ export const SRSLY_ERROR__INVALID_ATLAS_CONVERSION_RATE = 0x1782; // 6018
49
49
  export const SRSLY_ERROR__ACCOUNT_OWNED_BY_WRONG_PROGRAM = 0x1783; // 6019
50
50
  /** InvalidOwnerProfile: Fleet owner profile does not match the provided owner profile. */
51
51
  export const SRSLY_ERROR__INVALID_OWNER_PROFILE = 0x1784; // 6020
52
+ /** InvalidDurationMinimumAlignment: Duration minimum must be a multiple of the payment frequency interval. */
53
+ export const SRSLY_ERROR__INVALID_DURATION_MINIMUM_ALIGNMENT = 0x1785; // 6021
54
+ /** InvalidDurationMaximumAlignment: Duration maximum must be a multiple of the payment frequency interval. */
55
+ export const SRSLY_ERROR__INVALID_DURATION_MAXIMUM_ALIGNMENT = 0x1786; // 6022
52
56
  let srslyErrorMessages;
53
57
  if (process.env.NODE_ENV !== 'production') {
54
58
  srslyErrorMessages = {
@@ -60,7 +64,9 @@ if (process.env.NODE_ENV !== 'production') {
60
64
  [SRSLY_ERROR__INSUFFICIENT_CANCELLATION_NOTICE]: `Rental time remaining is less than minimum cancellation notice required.`,
61
65
  [SRSLY_ERROR__INVALID_ATLAS_CONVERSION_RATE]: `Invalid ATLAS conversion rate. Must be greater than 0.`,
62
66
  [SRSLY_ERROR__INVALID_DURATION_MAXIMUM]: `Invalid duration maximum. Must be greater than or equal to the duration minimum.`,
67
+ [SRSLY_ERROR__INVALID_DURATION_MAXIMUM_ALIGNMENT]: `Duration maximum must be a multiple of the payment frequency interval.`,
63
68
  [SRSLY_ERROR__INVALID_DURATION_MINIMUM]: `Invalid duration minimum. Must be between 1 and the duration maximum.`,
69
+ [SRSLY_ERROR__INVALID_DURATION_MINIMUM_ALIGNMENT]: `Duration minimum must be a multiple of the payment frequency interval.`,
64
70
  [SRSLY_ERROR__INVALID_FEE_RATE]: `Invalid fee rate. Service fee must be <= 50%, referral fee <= 100%, base_bps > 0.`,
65
71
  [SRSLY_ERROR__INVALID_OWNER_PROFILE]: `Fleet owner profile does not match the provided owner profile.`,
66
72
  [SRSLY_ERROR__INVALID_PAYMENT_FREQUENCY]: `Invalid payment frequency. Must be one of: @hourly, @daily, @weekly, @monthly.`,
@@ -1 +1 @@
1
- {"version":3,"file":"srsly.js","sourceRoot":"","sources":["../../../../src/codama/errors/srsly.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"srsly.js","sourceRoot":"","sources":["../../../../src/codama/errors/srsly.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,21 @@
1
1
  import { getModule, createConfigSelector } from '../utils/config';
2
2
  import { getSageGameId, getSageProgramAddress, getAtlasMint, toAddress } from '../utils/constants';
3
+ import { validateDurationAlignment, paymentFrequencyStringToSeconds } from '../utils/paymentFrequency';
4
+ import { isValidPaymentFrequency } from '../types/paymentFrequency';
3
5
  /**
4
6
  * Internal function to create a contract instruction with configuration options
5
7
  */
6
8
  async function _createContract(params, config) {
7
- const { owner, fleet, ownerProfile, rate, durationMin, durationMax, paymentsFreq, ownerKeyIndex = 0, gameId, mint, } = params;
9
+ const { owner, fleet, ownerProfile, rate, durationMax, paymentsFreq, ownerKeyIndex = 0, gameId, mint, } = params;
10
+ // Validate payment frequency using auto-generated validation
11
+ if (!isValidPaymentFrequency(paymentsFreq)) {
12
+ throw new Error(`Invalid payment frequency: ${paymentsFreq}. Valid values are auto-generated from Rust PaymentFrequency enum.`);
13
+ }
14
+ // Calculate durationMin from payment frequency
15
+ const durationMin = paymentFrequencyStringToSeconds(paymentsFreq);
16
+ // Validate that durationMax is a multiple of the payment frequency
17
+ // Uses the codama-generated PaymentFrequency enum and mirrors Rust implementation
18
+ validateDurationAlignment(durationMax, paymentsFreq);
8
19
  // Get the actual game ID to use (param override, config override, or network default)
9
20
  const actualGameId = gameId ? toAddress(gameId) : await getSageGameId(config);
10
21
  // Get codama functions
@@ -24,7 +35,7 @@ async function _createContract(params, config) {
24
35
  rate: BigInt(rate),
25
36
  durationMin: BigInt(durationMin),
26
37
  durationMax: BigInt(durationMax),
27
- paymentsFeq: paymentsFreq,
38
+ paymentsFeq: `@${paymentsFreq}`,
28
39
  ownerKeyIndex,
29
40
  sageProgram: toAddress(await getSageProgramAddress(config)),
30
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/contract/create.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAA2C,MAAM,iBAAiB,CAAC;AAC3G,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AA+DnG;;GAEG;AACH,KAAK,UAAU,eAAe,CAC5B,MAA4B,EAC5B,MAAsB;IAEtB,MAAM,EACJ,KAAK,EACL,KAAK,EACL,YAAY,EACZ,IAAI,EACJ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,aAAa,GAAG,CAAC,EACjB,MAAM,EACN,IAAI,GACL,GAAG,MAAM,CAAC;IAEX,sFAAsF;IACtF,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;IAE9E,uBAAuB;IACvB,MAAM,kBAAkB,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,EAAE,iCAAiC,EAAE,GAAG,kBAAkB,CAAC;IACjE,MAAM,EAAE,qBAAqB,EAAE,GAAG,cAAc,CAAC;IAEjD,2DAA2D;IAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IAEtE,kFAAkF;IAClF,MAAM,KAAK,GAAG;QACZ,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,4BAA4B;QACnC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;QACvB,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC;QACrC,MAAM,EAAE,YAAY;QACpB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;QAChC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;QAChC,WAAW,EAAE,YAAY;QACzB,aAAa;QACb,WAAW,EAAE,SAAS,CAAC,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC;KAC5D,CAAC;IAEF,OAAO,iCAAiC,CACtC,KAAK,EACL,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,cAAc,CAC5B,MAA4B;IAE5B,OAAO,oBAAoB,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iCAAiC,CAAC,KAAU,EAAE,OAAa;IACzE,OAAO,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,kBAAkB,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QACrD,OAAO,kBAAkB,CAAC,iCAAiC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/contract/create.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAA2C,MAAM,iBAAiB,CAAC;AAC3G,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACnG,OAAO,EAAE,yBAAyB,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AACvG,OAAO,EAA0B,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AA+D5F;;GAEG;AACH,KAAK,UAAU,eAAe,CAC5B,MAA4B,EAC5B,MAAsB;IAEtB,MAAM,EACJ,KAAK,EACL,KAAK,EACL,YAAY,EACZ,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,aAAa,GAAG,CAAC,EACjB,MAAM,EACN,IAAI,GACL,GAAG,MAAM,CAAC;IAEX,6DAA6D;IAC7D,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,8BAA8B,YAAY,oEAAoE,CAAC,CAAC;IAClI,CAAC;IAED,+CAA+C;IAC/C,MAAM,WAAW,GAAG,+BAA+B,CAAC,YAAY,CAAC,CAAC;IAElE,mEAAmE;IACnE,kFAAkF;IAClF,yBAAyB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAErD,sFAAsF;IACtF,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;IAE9E,uBAAuB;IACvB,MAAM,kBAAkB,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,EAAE,iCAAiC,EAAE,GAAG,kBAAkB,CAAC;IACjE,MAAM,EAAE,qBAAqB,EAAE,GAAG,cAAc,CAAC;IAEjD,2DAA2D;IAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IAEtE,kFAAkF;IAClF,MAAM,KAAK,GAAG;QACZ,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,4BAA4B;QACnC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;QACvB,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC;QACrC,MAAM,EAAE,YAAY;QACpB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;QAChC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;QAChC,WAAW,EAAE,IAAI,YAAY,EAAE;QAC/B,aAAa;QACb,WAAW,EAAE,SAAS,CAAC,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC;KAC5D,CAAC;IAEF,OAAO,iCAAiC,CACtC,KAAK,EACL,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,cAAc,CAC5B,MAA4B;IAE5B,OAAO,oBAAoB,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iCAAiC,CAAC,KAAU,EAAE,OAAa;IACzE,OAAO,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,kBAAkB,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QACrD,OAAO,kBAAkB,CAAC,iCAAiC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC"}
package/dist/esm/index.js CHANGED
@@ -2,6 +2,12 @@
2
2
  export * from "./contract";
3
3
  export * from "./rental";
4
4
  export * from "./utils";
5
- // Export PaymentFrequency from utils since it's not in codama
6
- export { PaymentFrequency } from "./utils/constants";
5
+ // Export PaymentFrequency from codama (generated from Rust)
6
+ export { PaymentFrequency } from "./codama/types/paymentFrequency";
7
+ // Export auto-generated payment frequency types and utilities
8
+ export { VALID_PAYMENT_FREQUENCIES, PAYMENT_FREQUENCY_MAP, PAYMENT_FREQUENCY_CONSTANTS, getPaymentFrequencyFromString, isValidPaymentFrequency } from "./types/paymentFrequency";
9
+ // Export payment frequency utilities that mirror Rust implementation
10
+ export { paymentFrequencyToSeconds, paymentFrequencyStringToSeconds, validateDurationAlignment } from "./utils/paymentFrequency";
11
+ // Export duration helper functions for convenient time unit conversion
12
+ export { decaseconds, minutes, hours, days, weeks, months, duration } from "./utils/duration";
7
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AAsBxB,8DAA8D;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AAsBxB,4DAA4D;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,8DAA8D;AAC9D,OAAO,EAEL,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,6BAA6B,EAC7B,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAElC,qEAAqE;AACrE,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAElC,uEAAuE;AACvE,OAAO,EACL,WAAW,EACX,OAAO,EACP,KAAK,EACL,IAAI,EACJ,KAAK,EACL,MAAM,EACN,QAAQ,EACT,MAAM,kBAAkB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wuwei-labs/srsly",
3
- "version": "2.0.0-beta.24",
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
- "dependencies": {
50
- "@solana/kit": "^2.1.0",
51
- "@wuwei-labs/srsly": "2.0.0-beta.12"
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": "module"
54
61
  }
@@ -0,0 +1,53 @@
1
+ /**
2
+ * This code was AUTO-GENERATED from the Rust PaymentFrequency implementation.
3
+ * Please DO NOT EDIT THIS FILE manually - it will be overwritten.
4
+ *
5
+ * Source: programs/srsly/src/utils.rs
6
+ * Generated by: generate.mjs
7
+ */
8
+ import { PaymentFrequency } from '../codama/types/paymentFrequency';
9
+ /**
10
+ * Array of all valid payment frequency strings
11
+ * Auto-generated from Rust PaymentFrequency enum
12
+ */
13
+ export const VALID_PAYMENT_FREQUENCIES = [
14
+ 'hourly',
15
+ 'daily',
16
+ 'weekly',
17
+ 'monthly'
18
+ ];
19
+ /**
20
+ * Mapping from user-friendly strings to PaymentFrequency enum values
21
+ * Auto-generated from Rust PaymentFrequency enum
22
+ */
23
+ export const PAYMENT_FREQUENCY_MAP = {
24
+ 'hourly': PaymentFrequency.Hourly,
25
+ 'daily': PaymentFrequency.Daily,
26
+ 'weekly': PaymentFrequency.Weekly,
27
+ 'monthly': PaymentFrequency.Monthly
28
+ };
29
+ /**
30
+ * Constants extracted from Rust constants.rs
31
+ * Auto-synced with Rust implementation
32
+ */
33
+ export const PAYMENT_FREQUENCY_CONSTANTS = {
34
+ SECONDS_PER_DECASECOND: 10,
35
+ SECONDS_PER_MINUTE: 60,
36
+ SECONDS_PER_HOUR: 3600,
37
+ SECONDS_PER_DAY: 86400,
38
+ SECONDS_PER_WEEK: 604800,
39
+ SECONDS_PER_MONTH: 2678400
40
+ };
41
+ /**
42
+ * Get PaymentFrequency enum value from user-friendly string
43
+ */
44
+ export function getPaymentFrequencyFromString(frequencyString) {
45
+ return PAYMENT_FREQUENCY_MAP[frequencyString];
46
+ }
47
+ /**
48
+ * Check if a string is a valid payment frequency
49
+ */
50
+ export function isValidPaymentFrequency(value) {
51
+ return VALID_PAYMENT_FREQUENCIES.includes(value);
52
+ }
53
+ //# sourceMappingURL=paymentFrequency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paymentFrequency.js","sourceRoot":"","sources":["../../../src/types/paymentFrequency.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAQpE;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAsC;IAC1E,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;CACD,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAqD;IACrF,QAAQ,EAAE,gBAAgB,CAAC,MAAM;IACjC,OAAO,EAAE,gBAAgB,CAAC,KAAK;IAC/B,QAAQ,EAAE,gBAAgB,CAAC,MAAM;IACjC,SAAS,EAAE,gBAAgB,CAAC,OAAO;CAC3B,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,sBAAsB,EAAE,EAAE;IAC1B,kBAAkB,EAAE,EAAE;IACtB,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,KAAK;IACtB,gBAAgB,EAAE,MAAM;IACxB,iBAAiB,EAAE,OAAO;CAClB,CAAC;AAEX;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAAC,eAAuC;IACnF,OAAO,qBAAqB,CAAC,eAAe,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,OAAO,yBAAyB,CAAC,QAAQ,CAAC,KAA+B,CAAC,CAAC;AAC7E,CAAC"}
@@ -4,7 +4,7 @@
4
4
  // Single codama output - network agnostic
5
5
  import * as instructions from '../codama/instructions';
6
6
  import * as programs from '../codama/programs';
7
- import { createSolanaRpc, createSolanaRpcSubscriptions, createTransactionMessage, setTransactionMessageFeePayer, setTransactionMessageFeePayerSigner, setTransactionMessageLifetimeUsingBlockhash, appendTransactionMessageInstructions, compileTransaction, signTransactionMessageWithSigners, sendAndConfirmTransactionFactory, getSignatureFromTransaction, pipe, } from '@solana/kit';
7
+ import { packWithKit, packWithWeb3js, packWithAuto } from './pack-functions';
8
8
  const PROGRAM_SETS = {
9
9
  mainnet: {
10
10
  SAGE_PROGRAM_ADDRESS: 'SAGE2HAwep459SNq61LHvjxPk4pLPEJLoMETef7f7EE',
@@ -95,7 +95,7 @@ export function clearConfig() {
95
95
  * @param overrides Optional configuration overrides
96
96
  * @returns Merged configuration with global defaults and any overrides
97
97
  */
98
- function getEffectiveConfig(overrides) {
98
+ export function getEffectiveConfig(overrides) {
99
99
  return { ...globalConfig, ...overrides };
100
100
  }
101
101
  /**
@@ -116,34 +116,6 @@ export async function getCachedNetworkModule(modulePath) {
116
116
  }
117
117
  return getModule(modulePath);
118
118
  }
119
- /**
120
- * Ensures the input is a proper Uint8Array compatible with web3.js
121
- * Handles various TypedArray formats that @solana/kit might return
122
- */
123
- function ensureUint8Array(input) {
124
- // If it's already a standard Uint8Array, return as-is
125
- if (input instanceof Uint8Array && input.constructor === Uint8Array) {
126
- return input;
127
- }
128
- // Handle various ArrayBufferView types (including ReadonlyUint8Array)
129
- if (ArrayBuffer.isView(input)) {
130
- return new Uint8Array(input.buffer, input.byteOffset, input.byteLength);
131
- }
132
- // Handle objects with buffer property (some Node.js environments)
133
- if (input && input.buffer && typeof input.byteLength === 'number') {
134
- return new Uint8Array(input.buffer, input.byteOffset || 0, input.byteLength);
135
- }
136
- // Handle array-like objects and iterables
137
- if (input && typeof input.length === 'number') {
138
- return new Uint8Array(input);
139
- }
140
- // Handle objects that might be iterable but don't have length
141
- if (input && typeof input[Symbol.iterator] === 'function') {
142
- return new Uint8Array(Array.from(input));
143
- }
144
- // Fallback: try to create from the input directly
145
- return new Uint8Array(input);
146
- }
147
119
  /**
148
120
  * Create a chainable packed transaction that allows .pack().send() without double await
149
121
  *
@@ -201,58 +173,27 @@ function createChainableConfigSelector(executeFn, existingConfig) {
201
173
  const selector = {
202
174
  set: (additionalOptions) => createChainableConfigSelector(executeFn, { ...existingConfig, ...additionalOptions }),
203
175
  build: () => executeFn(existingConfig),
176
+ packKit: (feePayer) => {
177
+ const packedTxPromise = (async () => {
178
+ const instruction = await executeFn(existingConfig);
179
+ const effectiveConfig = getEffectiveConfig(existingConfig);
180
+ return await packWithKit(instruction, feePayer, effectiveConfig);
181
+ })();
182
+ return createChainablePackedTransaction(packedTxPromise);
183
+ },
184
+ packWeb3js: (feePayer) => {
185
+ const packedTxPromise = (async () => {
186
+ const instruction = await executeFn(existingConfig);
187
+ const effectiveConfig = getEffectiveConfig(existingConfig);
188
+ return await packWithWeb3js(instruction, feePayer, effectiveConfig);
189
+ })();
190
+ return createChainablePackedTransaction(packedTxPromise);
191
+ },
204
192
  pack: (feePayer) => {
205
193
  const packedTxPromise = (async () => {
206
194
  const instruction = await executeFn(existingConfig);
207
195
  const effectiveConfig = getEffectiveConfig(existingConfig);
208
- const resolvedAddresses = resolveProgramAddresses(effectiveConfig);
209
- if (!resolvedAddresses.rpcUrl) {
210
- const networkType = effectiveConfig.programs || 'unknown';
211
- if (networkType === 'atlasnet' || networkType === 'holosim') {
212
- 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" })`);
213
- }
214
- throw new Error('RPC URL is required for creating transactions. Please set it via setConfig({ rpcUrl: "..." }) or provide it in .set({ rpcUrl: "..." })');
215
- }
216
- // Create RPC connection to get latest blockhash
217
- const rpc = createSolanaRpc(resolvedAddresses.rpcUrl);
218
- const { value: latestBlockhash } = await rpc.getLatestBlockhash().send();
219
- // Build unsigned transaction message
220
- const transactionMessage = pipe(createTransactionMessage({ version: 0 }), (msg) => setTransactionMessageFeePayer(feePayer, msg), (msg) => setTransactionMessageLifetimeUsingBlockhash(latestBlockhash, msg), (msg) => appendTransactionMessageInstructions([instruction], msg));
221
- // Compile to unsigned transaction
222
- const unsignedTransaction = compileTransaction(transactionMessage);
223
- // Return raw messageBytes - users can convert to web3.js format if needed:
224
- // import { VersionedTransaction, VersionedMessage } from '@solana/web3.js';
225
- // const versionedMessage = VersionedMessage.deserialize(messageBytes);
226
- // const versionedTx = new VersionedTransaction(versionedMessage);
227
- const messageBytes = ensureUint8Array(unsignedTransaction.messageBytes);
228
- // Return PackedTransaction with send() method
229
- return {
230
- messageBytes,
231
- signatures: unsignedTransaction.signatures,
232
- send: async (signer) => {
233
- // Create RPC connections for sending
234
- const sendRpc = createSolanaRpc(resolvedAddresses.rpcUrl);
235
- const rpcSubscriptions = createSolanaRpcSubscriptions(resolvedAddresses.rpcUrl.replace('https:', 'wss:').replace('http:', 'ws:'));
236
- // Build transaction message with signer
237
- const signerTransactionMessage = pipe(createTransactionMessage({ version: 0 }), (msg) => setTransactionMessageFeePayerSigner(signer, msg), (msg) => setTransactionMessageLifetimeUsingBlockhash(latestBlockhash, msg), (msg) => appendTransactionMessageInstructions([instruction], msg));
238
- // Sign transaction
239
- const signedTransaction = await signTransactionMessageWithSigners(signerTransactionMessage);
240
- // Send and confirm transaction
241
- const sendAndConfirmTransaction = sendAndConfirmTransactionFactory({ rpc: sendRpc, rpcSubscriptions: rpcSubscriptions });
242
- try {
243
- await sendAndConfirmTransaction(signedTransaction, {
244
- commitment: effectiveConfig.transactionOptions?.commitment || 'confirmed',
245
- skipPreflight: effectiveConfig.transactionOptions?.skipPreflight || false
246
- });
247
- // Extract and return the signature
248
- const signature = getSignatureFromTransaction(signedTransaction);
249
- return signature;
250
- }
251
- catch (error) {
252
- throw new Error(`Transaction failed: ${error instanceof Error ? error.message : String(error)}`);
253
- }
254
- }
255
- };
196
+ return await packWithAuto(instruction, feePayer, effectiveConfig);
256
197
  })();
257
198
  return createChainablePackedTransaction(packedTxPromise);
258
199
  },
@@ -286,60 +227,27 @@ export function createConfigSelector(executeFn) {
286
227
  const selector = {
287
228
  set: (options) => createChainableConfigSelector(executeFn, getEffectiveConfig(options)),
288
229
  build: () => executeFn(getEffectiveConfig()),
230
+ packKit: (feePayer) => {
231
+ const packedTxPromise = (async () => {
232
+ const instruction = await executeFn(getEffectiveConfig());
233
+ const effectiveConfig = getEffectiveConfig();
234
+ return await packWithKit(instruction, feePayer, effectiveConfig);
235
+ })();
236
+ return createChainablePackedTransaction(packedTxPromise);
237
+ },
238
+ packWeb3js: (feePayer) => {
239
+ const packedTxPromise = (async () => {
240
+ const instruction = await executeFn(getEffectiveConfig());
241
+ const effectiveConfig = getEffectiveConfig();
242
+ return await packWithWeb3js(instruction, feePayer, effectiveConfig);
243
+ })();
244
+ return createChainablePackedTransaction(packedTxPromise);
245
+ },
289
246
  pack: (feePayer) => {
290
247
  const packedTxPromise = (async () => {
291
248
  const instruction = await executeFn(getEffectiveConfig());
292
249
  const effectiveConfig = getEffectiveConfig();
293
- const resolvedAddresses = resolveProgramAddresses(effectiveConfig);
294
- if (!resolvedAddresses.rpcUrl) {
295
- const networkType = effectiveConfig.programs || 'unknown';
296
- if (networkType === 'atlasnet' || networkType === 'holosim') {
297
- 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" })`);
298
- }
299
- throw new Error('RPC URL is required for creating transactions. Please set it via setConfig({ rpcUrl: "..." }) or provide it in .set({ rpcUrl: "..." })');
300
- }
301
- // Create RPC connection to get latest blockhash
302
- const rpc = createSolanaRpc(resolvedAddresses.rpcUrl);
303
- const { value: latestBlockhash } = await rpc.getLatestBlockhash().send();
304
- // Build unsigned transaction message
305
- const transactionMessage = pipe(createTransactionMessage({ version: 0 }), (msg) => setTransactionMessageFeePayer(feePayer, msg), (msg) => setTransactionMessageLifetimeUsingBlockhash(latestBlockhash, msg), (msg) => appendTransactionMessageInstructions([instruction], msg));
306
- // Compile to unsigned transaction
307
- const unsignedTransaction = compileTransaction(transactionMessage);
308
- // Create a web3.js compatible transaction by converting messageBytes to VersionedMessage
309
- const { VersionedTransaction, VersionedMessage } = await import('@solana/web3.js');
310
- const messageUint8Array = ensureUint8Array(unsignedTransaction.messageBytes);
311
- const versionedMessage = VersionedMessage.deserialize(messageUint8Array);
312
- const versionedTx = new VersionedTransaction(versionedMessage);
313
- // Serialize to get proper messageBytes that can be deserialized by web3.js
314
- const messageBytes = ensureUint8Array(versionedTx.serialize());
315
- // Return PackedTransaction with send() method
316
- return {
317
- messageBytes,
318
- signatures: unsignedTransaction.signatures,
319
- send: async (signer) => {
320
- // Create RPC connections for sending
321
- const sendRpc = createSolanaRpc(resolvedAddresses.rpcUrl);
322
- const rpcSubscriptions = createSolanaRpcSubscriptions(resolvedAddresses.rpcUrl.replace('https:', 'wss:').replace('http:', 'ws:'));
323
- // Build transaction message with signer
324
- const signerTransactionMessage = pipe(createTransactionMessage({ version: 0 }), (msg) => setTransactionMessageFeePayerSigner(signer, msg), (msg) => setTransactionMessageLifetimeUsingBlockhash(latestBlockhash, msg), (msg) => appendTransactionMessageInstructions([instruction], msg));
325
- // Sign transaction
326
- const signedTransaction = await signTransactionMessageWithSigners(signerTransactionMessage);
327
- // Send and confirm transaction
328
- const sendAndConfirmTransaction = sendAndConfirmTransactionFactory({ rpc: sendRpc, rpcSubscriptions: rpcSubscriptions });
329
- try {
330
- await sendAndConfirmTransaction(signedTransaction, {
331
- commitment: effectiveConfig.transactionOptions?.commitment || 'confirmed',
332
- skipPreflight: effectiveConfig.transactionOptions?.skipPreflight || false
333
- });
334
- // Extract and return the signature
335
- const signature = getSignatureFromTransaction(signedTransaction);
336
- return signature;
337
- }
338
- catch (error) {
339
- throw new Error(`Transaction failed: ${error instanceof Error ? error.message : String(error)}`);
340
- }
341
- }
342
- };
250
+ return await packWithAuto(instruction, feePayer, effectiveConfig);
343
251
  })();
344
252
  return createChainablePackedTransaction(packedTxPromise);
345
253
  },
@@ -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,11 +1,11 @@
1
1
  import { getConfig, resolveProgramAddresses } from './config';
2
- import { address } from '@solana/kit';
3
2
  /**
4
3
  * Converts a string or Address to an Address type
5
4
  * This utility ensures consistent address handling across the SDK
5
+ * Note: This is a simple passthrough now since pack functions handle library-specific conversions
6
6
  */
7
7
  export function toAddress(value) {
8
- return typeof value === 'string' ? address(value) : value;
8
+ return value;
9
9
  }
10
10
  // Seed constants
11
11
  export const STARBASE_SEED = 'Starbase';
@@ -14,18 +14,7 @@ export const SAGE_PLAYER_PROFILE_SEED = 'sage_player_profile';
14
14
  export const PROFILE_FACTION_SEED = 'profile_faction';
15
15
  // Token conversion constants
16
16
  export const ATLAS_TO_STARDUST = 100_000_000; // 1 ATLAS = 100,000,000 stardust
17
- // PaymentFrequency enum to match the Rust program
18
- export var PaymentFrequency;
19
- (function (PaymentFrequency) {
20
- PaymentFrequency[PaymentFrequency["Hourly"] = 0] = "Hourly";
21
- PaymentFrequency[PaymentFrequency["Daily"] = 1] = "Daily";
22
- PaymentFrequency[PaymentFrequency["DailyOld"] = 2] = "DailyOld";
23
- PaymentFrequency[PaymentFrequency["Weekly"] = 3] = "Weekly";
24
- PaymentFrequency[PaymentFrequency["Monthly"] = 4] = "Monthly";
25
- // Development-only frequencies (not available on mainnet)
26
- PaymentFrequency[PaymentFrequency["Decasecond"] = 5] = "Decasecond";
27
- PaymentFrequency[PaymentFrequency["Minute"] = 6] = "Minute";
28
- })(PaymentFrequency || (PaymentFrequency = {}));
17
+ // PaymentFrequency enum is now exported from codama-generated types
29
18
  // Network constants are now managed in config.ts
30
19
  export async function getSrslyProgramAddress(config) {
31
20
  const globalConfig = getConfig();
@@ -74,10 +63,5 @@ export const FACTION_MAPPING = {
74
63
  2: 'oni',
75
64
  3: 'ustur'
76
65
  };
77
- /**
78
- * Convert PaymentFrequency enum to string
79
- */
80
- export function paymentFrequencyToString(freq) {
81
- return PaymentFrequency[freq].toLowerCase();
82
- }
66
+ // PaymentFrequency utilities are now in utils/paymentFrequency.ts
83
67
  //# sourceMappingURL=constants.js.map