@wuwei-labs/srsly 2.0.0-beta.46 → 2.0.0-beta.48

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 (90) hide show
  1. package/dist/cjs/codama/instructions/cancelRental.js +13 -23
  2. package/dist/cjs/codama/instructions/cancelRental.js.map +1 -1
  3. package/dist/cjs/contract/close.js +106 -21
  4. package/dist/cjs/contract/close.js.map +1 -1
  5. package/dist/cjs/contract/create.js +59 -5
  6. package/dist/cjs/contract/create.js.map +1 -1
  7. package/dist/cjs/demos.js +65 -0
  8. package/dist/cjs/demos.js.map +1 -0
  9. package/dist/cjs/index.js +2 -1
  10. package/dist/cjs/index.js.map +1 -1
  11. package/dist/cjs/package.json +1 -1
  12. package/dist/cjs/rental/accept.js +31 -0
  13. package/dist/cjs/rental/accept.js.map +1 -1
  14. package/dist/cjs/rental/cancel.js +60 -9
  15. package/dist/cjs/rental/cancel.js.map +1 -1
  16. package/dist/cjs/rental/close.js +35 -23
  17. package/dist/cjs/rental/close.js.map +1 -1
  18. package/dist/cjs/rental/reset-contract-temp.js +4 -1
  19. package/dist/cjs/rental/reset-contract-temp.js.map +1 -1
  20. package/dist/cjs/rental/reset.js +131 -26
  21. package/dist/cjs/rental/reset.js.map +1 -1
  22. package/dist/cjs/utils/fetch-accounts.js +26 -0
  23. package/dist/cjs/utils/fetch-accounts.js.map +1 -1
  24. package/dist/cjs/utils/index.js +8 -0
  25. package/dist/cjs/utils/index.js.map +1 -1
  26. package/dist/cjs/utils/pda.js.map +1 -1
  27. package/dist/cjs/utils/sdk-helpers.js +122 -0
  28. package/dist/cjs/utils/sdk-helpers.js.map +1 -0
  29. package/dist/cjs/utils/signer.js +19 -1
  30. package/dist/cjs/utils/signer.js.map +1 -1
  31. package/dist/esm/codama/instructions/cancelRental.js +13 -23
  32. package/dist/esm/codama/instructions/cancelRental.js.map +1 -1
  33. package/dist/esm/contract/close.js +106 -22
  34. package/dist/esm/contract/close.js.map +1 -1
  35. package/dist/esm/contract/create.js +59 -6
  36. package/dist/esm/contract/create.js.map +1 -1
  37. package/dist/esm/demos.js +23 -0
  38. package/dist/esm/demos.js.map +1 -0
  39. package/dist/esm/index.js +1 -1
  40. package/dist/esm/index.js.map +1 -1
  41. package/dist/esm/package.json +1 -1
  42. package/dist/esm/rental/accept.js +30 -0
  43. package/dist/esm/rental/accept.js.map +1 -1
  44. package/dist/esm/rental/cancel.js +60 -10
  45. package/dist/esm/rental/cancel.js.map +1 -1
  46. package/dist/esm/rental/close.js +37 -26
  47. package/dist/esm/rental/close.js.map +1 -1
  48. package/dist/esm/rental/reset-contract-temp.js +4 -1
  49. package/dist/esm/rental/reset-contract-temp.js.map +1 -1
  50. package/dist/esm/rental/reset.js +131 -27
  51. package/dist/esm/rental/reset.js.map +1 -1
  52. package/dist/esm/utils/fetch-accounts.js +26 -1
  53. package/dist/esm/utils/fetch-accounts.js.map +1 -1
  54. package/dist/esm/utils/index.js +1 -0
  55. package/dist/esm/utils/index.js.map +1 -1
  56. package/dist/esm/utils/pda.js.map +1 -1
  57. package/dist/esm/utils/sdk-helpers.js +113 -0
  58. package/dist/esm/utils/sdk-helpers.js.map +1 -0
  59. package/dist/esm/utils/signer.js +19 -1
  60. package/dist/esm/utils/signer.js.map +1 -1
  61. package/dist/types/codama/instructions/cancelRental.d.ts +2 -2
  62. package/dist/types/codama/instructions/cancelRental.d.ts.map +1 -1
  63. package/dist/types/contract/close.d.ts +17 -12
  64. package/dist/types/contract/close.d.ts.map +1 -1
  65. package/dist/types/contract/create.d.ts +8 -2
  66. package/dist/types/contract/create.d.ts.map +1 -1
  67. package/dist/types/demos.d.ts +58 -0
  68. package/dist/types/demos.d.ts.map +1 -0
  69. package/dist/types/index.d.ts +1 -1
  70. package/dist/types/index.d.ts.map +1 -1
  71. package/dist/types/rental/accept.d.ts +6 -0
  72. package/dist/types/rental/accept.d.ts.map +1 -1
  73. package/dist/types/rental/cancel.d.ts +9 -3
  74. package/dist/types/rental/cancel.d.ts.map +1 -1
  75. package/dist/types/rental/close.d.ts +11 -5
  76. package/dist/types/rental/close.d.ts.map +1 -1
  77. package/dist/types/rental/reset-contract-temp.d.ts +1 -1
  78. package/dist/types/rental/reset-contract-temp.d.ts.map +1 -1
  79. package/dist/types/rental/reset.d.ts +35 -24
  80. package/dist/types/rental/reset.d.ts.map +1 -1
  81. package/dist/types/utils/fetch-accounts.d.ts +48 -1
  82. package/dist/types/utils/fetch-accounts.d.ts.map +1 -1
  83. package/dist/types/utils/index.d.ts +1 -0
  84. package/dist/types/utils/index.d.ts.map +1 -1
  85. package/dist/types/utils/pda.d.ts.map +1 -1
  86. package/dist/types/utils/sdk-helpers.d.ts +49 -0
  87. package/dist/types/utils/sdk-helpers.d.ts.map +1 -0
  88. package/dist/types/utils/signer.d.ts.map +1 -1
  89. package/package.json +7 -1
  90. package/target/idl/srsly.json +1 -23
@@ -1 +1 @@
1
- {"version":3,"file":"close.js","sourceRoot":"","sources":["../../../src/contract/close.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,uBAAuB,EAA2C,MAAM,iBAAiB,CAAC;AACpI,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,+BAA+B,EAA0D,MAAM,gCAAgC,CAAC;AA0ClK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,cAAc,CAC3B,MAA2B,EAC3B,MAAsB;IAEtB,MAAM,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,OAAO,GACR,GAAG,MAAM,CAAC;IAEX,gFAAgF;IAChF,MAAM,iBAAiB,GAAG,MAAM,uBAAuB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAEtE,2FAA2F;IAC3F,MAAM,YAAY,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IAEvE,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAC9C,SAAS,CAAC,YAAY,CAAC,EACvB,OAAQ,EACR,iBAAiB,CAAC,MAAM,EACxB,CAAC,EAAE,gBAAgB;IACnB,MAAM,CACP,CAAC;IAEF,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,EAAE,gCAAgC,EAAE,GAAG,kBAAkB,CAAC;IAChE,MAAM,EAAE,qBAAqB,EAAE,GAAG,cAAc,CAAC;IAEjD,wEAAwE;IACxE,MAAM,KAAK,GAAG;QACZ,KAAK,EAAqC,gCAAgC;QAC1E,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAmB,2BAA2B;QACrE,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAa,8BAA8B;QACxE,QAAQ,EAAE,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAQ,8BAA8B;QACnF,cAAc,EAAE,SAAS,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,oCAAoC;QAC/F,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAAsB,yDAAyD;QAC/G,WAAW,EAAE,iBAAiB,CAAC,kBAAkB,EAAG,+CAA+C;KACpG,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAC3D,KAAK,EACL,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;IACF,OAAO,uBAAuB,CAAC,cAAc,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AACH,MAAM,UAAU,aAAa,CAC3B,MAA2B;IAE3B,MAAM,YAAY,GAAG,oBAAoB,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtF,OAAO,+BAA+B,CAAC,YAAY,CAAC,CAAC;AACvD,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,gCAAgC,CAAC,KAAU,EAAE,OAAa;IACxE,OAAO,oBAAoB,CAAC,KAAK,IAAI,EAAE;QACrC,MAAM,kBAAkB,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QACrD,OAAO,kBAAkB,CAAC,gCAAgC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"close.js","sourceRoot":"","sources":["../../../src/contract/close.ts"],"names":[],"mappings":"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"}
@@ -14,11 +14,12 @@
14
14
  *
15
15
  * @module Contract/Create
16
16
  */
17
- import { getModule, createConfigSelector, resolveProgramAddresses } from '../utils/config';
17
+ import { getModule, createConfigSelector, resolveProgramAddresses, getConfig } from '../utils/config';
18
18
  import { toAddress } from '../utils/constants';
19
19
  import { validateDurationAlignment, paymentFrequencyStringToSeconds } from '../utils/paymentFrequency';
20
20
  import { isValidPaymentFrequency } from '../types/paymentFrequency';
21
21
  import { createFluentInstruction, createSmartFluentConfigSelector } from '../utils/instruction-converter';
22
+ import { createTransactionSigner } from '../utils/signer';
22
23
  /**
23
24
  * Internal function to create a rental contract instruction with configuration options.
24
25
  *
@@ -33,6 +34,14 @@ import { createFluentInstruction, createSmartFluentConfigSelector } from '../uti
33
34
  * @throws Error when validation fails or required parameters are missing
34
35
  */
35
36
  async function _createContract(params, config) {
37
+ console.log('🏗️ Starting createContract with params:', {
38
+ hasOwner: !!params.owner,
39
+ fleet: params.fleet,
40
+ ownerProfile: params.ownerProfile,
41
+ rate: params.rate,
42
+ durationMax: params.durationMax,
43
+ paymentsFreq: params.paymentsFreq
44
+ });
36
45
  const { owner, fleet, ownerProfile, rate, durationMin: customDurationMin, durationMax, paymentsFreq, ownerKeyIndex = 0, } = params;
37
46
  // Validate payment frequency
38
47
  if (!isValidPaymentFrequency(paymentsFreq)) {
@@ -52,9 +61,23 @@ async function _createContract(params, config) {
52
61
  // Convert the payment frequency to the format expected by the Rust program (with @ prefix)
53
62
  const paymentsFreqWithPrefix = `@${paymentsFreq}`;
54
63
  // Get the resolved addresses from config (including network-specific addresses)
55
- const resolvedAddresses = await resolveProgramAddresses(config || {});
64
+ // Use global config as fallback, same pattern as acceptRental
65
+ const globalConfig = getConfig();
66
+ const effectiveConfig = { ...globalConfig, ...config };
67
+ const resolvedAddresses = await resolveProgramAddresses(effectiveConfig);
68
+ // Handle owner using smart signer handler for universal compatibility
69
+ const ownerSigner = createTransactionSigner(owner);
70
+ console.log('✅ Owner processed with createTransactionSigner:', ownerSigner.address);
71
+ // Validate fleet address
72
+ if (typeof fleet === 'string' && (fleet.includes('FLEET_NFT_ADDRESS') || fleet.length < 32)) {
73
+ throw new Error(`Invalid fleet address: "${fleet}". Please provide a valid Solana address (32-44 characters).`);
74
+ }
75
+ // Validate owner profile address
76
+ if (typeof ownerProfile === 'string' && (ownerProfile.includes('PROFILE_ADDRESS') || ownerProfile.length < 32)) {
77
+ throw new Error(`Invalid owner profile address: "${ownerProfile}". Please provide a valid Solana address (32-44 characters).`);
78
+ }
56
79
  const input = {
57
- owner, // Pass as-is (string or signer)
80
+ owner: ownerSigner, // Pass TransactionSigner for proper handling
58
81
  fleet: toAddress(fleet), // Convert fleet to Address
59
82
  ownerProfile: toAddress(ownerProfile), // Convert ownerProfile to Address
60
83
  gameId: resolvedAddresses.gameId, // Already Address from resolveProgramAddresses
@@ -66,12 +89,28 @@ async function _createContract(params, config) {
66
89
  paymentsFeq: paymentsFreqWithPrefix, // Fixed: use paymentsFeq as expected by codama
67
90
  ownerKeyIndex,
68
91
  };
92
+ console.log('🏗️ Creating instruction with input:', {
93
+ ownerAddress: input.owner.address,
94
+ fleet: input.fleet,
95
+ ownerProfile: input.ownerProfile,
96
+ gameId: input.gameId,
97
+ sageProgram: input.sageProgram,
98
+ mint: input.mint,
99
+ rate: input.rate,
100
+ durationMin: input.durationMin,
101
+ durationMax: input.durationMax,
102
+ paymentsFeq: input.paymentsFeq,
103
+ programAddress: resolvedAddresses.srslyProgramAddress
104
+ });
69
105
  // Get network-specific codama functions from centralized config
70
106
  const instructionsModule = getModule('instructions');
71
- const programsModule = getModule('programs');
72
107
  const { getCreateContractInstructionAsync } = instructionsModule;
73
- const { SRSLY_PROGRAM_ADDRESS } = programsModule;
74
- const rawInstruction = await getCreateContractInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
108
+ const rawInstruction = await getCreateContractInstructionAsync(input, { programAddress: resolvedAddresses.srslyProgramAddress });
109
+ console.log('✅ Raw instruction created:', {
110
+ programAddress: rawInstruction.programAddress,
111
+ accountCount: rawInstruction.accounts?.length || 0,
112
+ hasData: !!rawInstruction.data
113
+ });
75
114
  return createFluentInstruction(rawInstruction);
76
115
  }
77
116
  /**
@@ -161,4 +200,18 @@ export function createContract(params) {
161
200
  const baseSelector = createConfigSelector((config) => _createContract(params, config));
162
201
  return createSmartFluentConfigSelector(baseSelector);
163
202
  }
203
+ // Demo export for documentation site
204
+ export const createContractDemo = {
205
+ tabName: "create",
206
+ description: "Create a new rental contract for your fleet",
207
+ imports: `import { createContract } from '@wuwei-labs/srsly';`,
208
+ instruction: `const instruction = await createContract({
209
+ owner: (signer || wallet).publicKey?.toBase58(),
210
+ fleet: "FLEET_NFT_ADDRESS",
211
+ ownerProfile: "YOUR_PROFILE_ADDRESS",
212
+ rate: 1, // ATLAS per payment period
213
+ durationMax: 86400, // 24 hours
214
+ paymentsFreq: "hourly" // or 'daily', 'weekly', or 'monthly'
215
+ });`
216
+ };
164
217
  //# sourceMappingURL=create.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/contract/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/contract/create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Demo exports for documentation site
3
+ *
4
+ * This module exports demo templates for all SRSLY SDK instructions.
5
+ * These templates are used in the documentation site to provide interactive examples.
6
+ */
7
+ // Re-export demo templates from instruction files
8
+ export { createContractDemo } from './contract/create';
9
+ export { closeContractDemo } from './contract/close';
10
+ export { acceptRentalDemo } from './rental/accept';
11
+ export { cancelRentalDemo } from './rental/cancel';
12
+ export { closeRentalDemo } from './rental/close';
13
+ export { resetRentalDemo } from './rental/reset';
14
+ // Collect all demos for easy access
15
+ export const ALL_DEMOS = {
16
+ createContract: () => import('./contract/create').then(m => m.createContractDemo),
17
+ closeContract: () => import('./contract/close').then(m => m.closeContractDemo),
18
+ acceptRental: () => import('./rental/accept').then(m => m.acceptRentalDemo),
19
+ cancelRental: () => import('./rental/cancel').then(m => m.cancelRentalDemo),
20
+ closeRental: () => import('./rental/close').then(m => m.closeRentalDemo),
21
+ resetRental: () => import('./rental/reset').then(m => m.resetRentalDemo),
22
+ };
23
+ //# sourceMappingURL=demos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"demos.js","sourceRoot":"","sources":["../../src/demos.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,kDAAkD;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAUjD,oCAAoC;AACpC,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,cAAc,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;IACjF,aAAa,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC9E,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAC3E,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAC3E,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;IACxE,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;CAChE,CAAC"}
package/dist/esm/index.js CHANGED
@@ -67,7 +67,7 @@ export * from "./utils";
67
67
  * );
68
68
  * ```
69
69
  */
70
- export { fetchContractState, fetchRentalState, fetchMultipleContractStates, fetchMultipleRentalStates } from "./utils/fetch-accounts";
70
+ export { fetchContractState, fetchRentalState, fetchConfigState, fetchMultipleContractStates, fetchMultipleRentalStates } from "./utils/fetch-accounts";
71
71
  /**
72
72
  * Payment frequency enum generated from the Rust program.
73
73
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAEH,4BAA4B;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AAyBxB;;;;;;;;;;;;;GAaG;AACH,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,2BAA2B,EAC3B,yBAAyB,EAC1B,MAAM,wBAAwB,CAAC;AAEhC;;;;;GAKG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE;;;;;;;;;;;;GAYG;AACH,OAAO,EAEL,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,6BAA6B,EAC7B,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;GAWG;AACH,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;;GAYG;AACH,OAAO,EACL,OAAO,EACP,KAAK,EACL,IAAI,EACJ,KAAK,EACL,MAAM,EACN,QAAQ,EACT,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAEH,4BAA4B;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AAyBxB;;;;;;;;;;;;;GAaG;AACH,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,2BAA2B,EAC3B,yBAAyB,EAC1B,MAAM,wBAAwB,CAAC;AAEhC;;;;;GAKG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE;;;;;;;;;;;;GAYG;AACH,OAAO,EAEL,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,6BAA6B,EAC7B,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;GAWG;AACH,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;;GAYG;AACH,OAAO,EACL,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.46",
3
+ "version": "2.0.0-beta.48",
4
4
  "description": "",
5
5
  "source": "./src/index.ts",
6
6
  "sideEffects": false,
@@ -22,6 +22,23 @@ import { createTransactionSigner } from '../utils/signer';
22
22
  */
23
23
  async function _acceptRental(params, config) {
24
24
  const { borrowerProfile, borrowerFaction, contract, duration, } = params;
25
+ // Validate that placeholder values have been replaced
26
+ if (contract === "CONTRACT_ADDRESS") {
27
+ throw new Error('Please replace "CONTRACT_ADDRESS" with a real contract address.\n\n' +
28
+ 'To find contract addresses:\n' +
29
+ '1. Use the "Create Contract" operation to create a new contract\n' +
30
+ '2. Copy the contract address from the transaction result\n' +
31
+ '3. Replace "CONTRACT_ADDRESS" with the real address\n\n' +
32
+ 'Example: "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM"');
33
+ }
34
+ if (borrowerProfile === "BORROWER_PROFILE_ADDRESS") {
35
+ throw new Error('Please replace "BORROWER_PROFILE_ADDRESS" with a real Star Atlas profile address.\n\n' +
36
+ 'To find your profile address:\n' +
37
+ '1. Connect to Star Atlas SAGE with your wallet\n' +
38
+ '2. Your profile address will be displayed in the game\n' +
39
+ '3. Replace "BORROWER_PROFILE_ADDRESS" with the real address\n\n' +
40
+ 'Example: "7CgMBZdvS8qXqv2fTQ9YZXPqJsKmn4TKEVa98MSTkHJ8"');
41
+ }
25
42
  // Get the resolved addresses from config (including network-specific addresses)
26
43
  // Use global config as fallback, same pattern as constants.ts
27
44
  const globalConfig = getConfig();
@@ -216,4 +233,17 @@ export function getAcceptRentalInstructionAsync(input, options) {
216
233
  return instructionsModule.getAcceptRentalInstructionAsync(input, options);
217
234
  });
218
235
  }
236
+ // Demo export for documentation site
237
+ export const acceptRentalDemo = {
238
+ tabName: "accept",
239
+ description: "Accept a rental offer from an existing contract",
240
+ imports: `import { acceptRental, days } from '@wuwei-labs/srsly';`,
241
+ instruction: `const instruction = await acceptRental({
242
+ borrower: (signer || wallet).publicKey?.toBase58(),
243
+ borrowerProfile: "BORROWER_PROFILE_ADDRESS",
244
+ borrowerFaction: "oni", // or "mud", "ustur"
245
+ contract: "CONTRACT_ADDRESS",
246
+ duration: days(1) // or 86400 seconds
247
+ });`
248
+ };
219
249
  //# sourceMappingURL=accept.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accept.js","sourceRoot":"","sources":["../../../src/rental/accept.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accept.js","sourceRoot":"","sources":["../../../src/rental/accept.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
- import { getModule, createConfigSelector } from '../utils/config';
1
+ import { getModule, createConfigSelector, resolveProgramAddresses, getConfig } from '../utils/config';
2
2
  import { toAddress } from '../utils/constants';
3
3
  import { createTransactionSigner } from '../utils/signer';
4
+ import { createFluentInstruction, createSmartFluentConfigSelector } from '../utils/instruction-converter';
5
+ import { fetchContractState, fetchConfigState } from '../utils/fetch-accounts';
6
+ import { deriveRentalState, deriveRentalAuthority, deriveRentalThread } from '../utils/pda';
4
7
  /**
5
8
  * Internal function to cancel a rental instruction with configuration options.
6
9
  *
@@ -16,22 +19,58 @@ import { createTransactionSigner } from '../utils/signer';
16
19
  */
17
20
  async function _cancelRental(params, config) {
18
21
  const { contract, } = params;
22
+ // Validate that placeholder values have been replaced
23
+ if (contract === "CONTRACT_ADDRESS") {
24
+ throw new Error('Please replace "CONTRACT_ADDRESS" with a real contract address.\n\n' +
25
+ 'To find contract addresses:\n' +
26
+ '1. Use the "Create Contract" operation to create a new contract\n' +
27
+ '2. Copy the contract address from the transaction result\n' +
28
+ '3. Replace "CONTRACT_ADDRESS" with the real address\n\n' +
29
+ 'Example: "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM"');
30
+ }
31
+ // Additional validation for short strings that might cause issues
32
+ if (typeof contract === 'string' && contract.length < 32) {
33
+ throw new Error(`Invalid contract address: "${contract}" (length: ${contract.length})\n\n` +
34
+ 'Solana addresses must be 32-44 characters long.\n' +
35
+ 'Please provide a valid base58-encoded Solana address.\n\n' +
36
+ 'Example: "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM"');
37
+ }
19
38
  // Handle borrower using smart signer handler for universal compatibility
20
39
  const borrower = createTransactionSigner(params.borrower);
21
40
  // Get the resolved addresses from config (including network-specific addresses)
22
- // Note: resolvedAddresses not currently needed for this instruction but kept for consistency
23
- // const resolvedAddresses = resolveProgramAddresses(config || {});
24
- // Let codama derive all the optional accounts
41
+ // Use global config as fallback, same pattern as closeContract
42
+ const globalConfig = getConfig();
43
+ const effectiveConfig = { ...globalConfig, ...config };
44
+ const resolvedAddresses = await resolveProgramAddresses(effectiveConfig);
45
+ // Fetch contract state using high-level function (same pattern as close contract)
46
+ const contractState = await fetchContractState(toAddress(contract));
47
+ // Fetch config state to get the authority using zero-argument overload
48
+ const configState = await fetchConfigState();
49
+ if (!configState.exists) {
50
+ throw new Error('Config not found');
51
+ }
52
+ const authorityAddress = configState.data.authority;
53
+ // Derive PDAs individually (same pattern as accept rental to ensure consistency)
54
+ const rentalStatePda = await deriveRentalState(toAddress(contract), toAddress(borrower.address), resolvedAddresses.srslyProgramAddress);
55
+ const rentalAuthorityPda = await deriveRentalAuthority(resolvedAddresses.srslyProgramAddress.toString());
56
+ const rentalThreadPda = await deriveRentalThread(rentalAuthorityPda, rentalStatePda, resolvedAddresses.antegenProgramAddress);
57
+ // Build the input with all required accounts (same pattern as accept rental)
25
58
  const input = {
26
59
  borrower: borrower, // TransactionSigner for Codama
27
- contract: toAddress(contract), // Ensure string
60
+ owner: toAddress(contractState.data.owner),
61
+ contract: toAddress(contract),
62
+ authority: toAddress(authorityAddress),
63
+ mint: resolvedAddresses.atlasMint,
64
+ // Override the auto-generated PDAs with our manually derived ones (same as accept rental)
65
+ rentalState: rentalStatePda,
66
+ rentalAuthority: rentalAuthorityPda,
67
+ rentalThread: rentalThreadPda,
28
68
  };
29
69
  // Get network-specific codama functions from centralized config
30
70
  const instructionsModule = getModule('instructions');
31
- const programsModule = getModule('programs');
32
71
  const { getCancelRentalInstructionAsync } = instructionsModule;
33
- const { SRSLY_PROGRAM_ADDRESS } = programsModule;
34
- return getCancelRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
72
+ const rawInstruction = await getCancelRentalInstructionAsync(input, { programAddress: resolvedAddresses.srslyProgramAddress });
73
+ return createFluentInstruction(rawInstruction);
35
74
  }
36
75
  /**
37
76
  * Creates an instruction to cancel a rental with fluent configuration.
@@ -99,11 +138,12 @@ async function _cancelRental(params, config) {
99
138
  * ```
100
139
  *
101
140
  * @param params - The rental cancellation parameters including borrower and contract
102
- * @returns A ConfigSelector that can be configured with .set() or awaited directly
141
+ * @returns A SmartFluentConfigSelector that can be configured with .set() or awaited directly
103
142
  * @throws Error when rental is not active, caller is not the borrower, or instruction generation fails
104
143
  */
105
144
  export function cancelRental(params) {
106
- return createConfigSelector((config) => _cancelRental(params, config));
145
+ const baseSelector = createConfigSelector((config) => _cancelRental(params, config));
146
+ return createSmartFluentConfigSelector(baseSelector);
107
147
  }
108
148
  /**
109
149
  * Low-level function to create a rental cancellation instruction with raw input parameters.
@@ -123,4 +163,14 @@ export function getCancelRentalInstructionAsync(input, options) {
123
163
  return instructionsModule.getCancelRentalInstructionAsync(input, options);
124
164
  });
125
165
  }
166
+ // Demo export for documentation site
167
+ export const cancelRentalDemo = {
168
+ tabName: "cancel",
169
+ description: "Cancel an active rental",
170
+ imports: `import { cancelRental } from '@wuwei-labs/srsly';`,
171
+ instruction: `const instruction = await cancelRental({
172
+ borrower: (signer || wallet).publicKey?.toBase58(),
173
+ contract: "CONTRACT_ADDRESS"
174
+ });`
175
+ };
126
176
  //# sourceMappingURL=cancel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../../src/rental/cancel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAoE,MAAM,iBAAiB,CAAC;AACpI,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAwB,MAAM,iBAAiB,CAAC;AA+BhF;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,aAAa,CAC1B,MAA0B,EAC1B,MAAsB;IAEtB,MAAM,EACJ,QAAQ,GACT,GAAG,MAAM,CAAC;IAEX,yEAAyE;IACzE,MAAM,QAAQ,GAAG,uBAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE1D,gFAAgF;IAChF,6FAA6F;IAC7F,mEAAmE;IAEnE,8CAA8C;IAC9C,MAAM,KAAK,GAAG;QACZ,QAAQ,EAAE,QAAQ,EAAE,+BAA+B;QACnD,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,gBAAgB;KAChD,CAAC;IAEF,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,EAAE,+BAA+B,EAAE,GAAG,kBAAkB,CAAC;IAC/D,MAAM,EAAE,qBAAqB,EAAE,GAAG,cAAc,CAAC;IAEjD,OAAO,+BAA+B,CACpC,KAAK,EACL,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AACH,MAAM,UAAU,YAAY,CAC1B,MAA0B;IAE1B,OAAO,oBAAoB,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,+BAA+B,CAAC,KAAU,EAAE,OAAa;IACvE,OAAO,oBAAoB,CAAC,KAAK,IAAI,EAAE;QACrC,MAAM,kBAAkB,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QACrD,OAAO,kBAAkB,CAAC,+BAA+B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../../src/rental/cancel.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
- import { getModule, createConfigSelector, resolveProgramAddresses } from '../utils/config';
1
+ import { getModule, createConfigSelector, resolveProgramAddresses, getConfig } from '../utils/config';
2
2
  import { toAddress } from '../utils/constants';
3
3
  import { createFluentInstruction, createSmartFluentConfigSelector } from '../utils/instruction-converter';
4
- import { fetchMaybeRentalState, fetchMaybeContractState, fetchMaybeConfig } from '../codama/accounts';
5
- import { createSolanaRpc, getProgramDerivedAddress, getBytesEncoder } from '@solana/kit';
4
+ import { fetchMaybeRentalState, fetchMaybeContractState } from '../codama/accounts';
5
+ import { fetchConfigState } from '../utils/fetch-accounts';
6
+ import { createSolanaRpc } from '@solana/kit';
6
7
  import { deriveRentalThread, deriveRentalAuthority } from '../utils/pda';
8
+ import { createTransactionSigner } from '../utils/signer';
7
9
  /**
8
10
  * Internal function to close a rental instruction with configuration options.
9
11
  *
@@ -18,22 +20,25 @@ import { deriveRentalThread, deriveRentalAuthority } from '../utils/pda';
18
20
  * @throws Error when instruction generation fails or required parameters are missing
19
21
  */
20
22
  async function _closeRental(params, config) {
21
- const { payer, rentalStateAddress, } = params;
23
+ const { payer, rentalState, } = params;
22
24
  // Get the resolved addresses from config (including network-specific addresses)
23
- const resolvedAddresses = await resolveProgramAddresses(config || {});
25
+ // Use global config as fallback, same pattern as acceptRental
26
+ const globalConfig = getConfig();
27
+ const effectiveConfig = { ...globalConfig, ...config };
28
+ const resolvedAddresses = await resolveProgramAddresses(effectiveConfig);
24
29
  // Create RPC from resolved addresses
25
30
  if (!resolvedAddresses.rpcUrl) {
26
31
  throw new Error('rpcUrl is required for close rental operation. Use setConfig({ library: "kit", rpcUrl: "https://..." })');
27
32
  }
28
33
  const rpc = createSolanaRpc(resolvedAddresses.rpcUrl);
29
34
  // Fetch rental state to get contract and borrower
30
- let rentalState;
35
+ let rentalStateAddress;
31
36
  try {
32
- if (!rentalStateAddress) {
33
- throw new Error(`rentalStateAddress is ${rentalStateAddress}, cannot proceed`);
37
+ if (!rentalState) {
38
+ throw new Error(`rentalState is ${rentalState}, cannot proceed`);
34
39
  }
35
- rentalState = await fetchMaybeRentalState(rpc, toAddress(rentalStateAddress));
36
- if (!rentalState.exists) {
40
+ rentalStateAddress = await fetchMaybeRentalState(rpc, toAddress(rentalState));
41
+ if (!rentalStateAddress.exists) {
37
42
  throw new Error(`Rental state not found: ${rentalStateAddress}`);
38
43
  }
39
44
  }
@@ -41,12 +46,12 @@ async function _closeRental(params, config) {
41
46
  throw new Error(`Failed to fetch rental state: ${error}`);
42
47
  }
43
48
  // Extract required addresses from rental state
44
- const contractAddress = rentalState.data.contract;
45
- const borrower = rentalState.data.borrower;
49
+ const contractAddress = rentalStateAddress.data.contract;
50
+ const borrower = rentalStateAddress.data.borrower;
46
51
  // Derive PDAs similar to accept.ts
47
52
  const rentalAuthorityPda = await deriveRentalAuthority(resolvedAddresses.srslyProgramAddress.toString());
48
53
  // 🔧 FIX: Derive rental thread PDA using Antegen program ID and the passed-in rental state address
49
- const rentalThreadPda = await deriveRentalThread(rentalAuthorityPda, toAddress(rentalStateAddress), // Use the passed-in rental state address
54
+ const rentalThreadPda = await deriveRentalThread(rentalAuthorityPda, toAddress(rentalState), // Use the passed-in rental state address
50
55
  resolvedAddresses.antegenProgramAddress);
51
56
  // Fetch contract state to get owner
52
57
  let contractState;
@@ -59,26 +64,22 @@ async function _closeRental(params, config) {
59
64
  catch (error) {
60
65
  throw new Error(`Failed to fetch contract state: ${error}`);
61
66
  }
62
- // Fetch config state to get the authority (we already have mint from resolved addresses)
63
- const [configPda] = await getProgramDerivedAddress({
64
- programAddress: resolvedAddresses.srslyProgramAddress,
65
- seeds: [
66
- getBytesEncoder().encode(new Uint8Array([99, 111, 110, 102, 105, 103])), // "config"
67
- ],
68
- });
67
+ // Fetch config state to get the authority using zero-argument overload
69
68
  let configState;
70
69
  try {
71
- configState = await fetchMaybeConfig(rpc, configPda);
70
+ configState = await fetchConfigState();
72
71
  if (!configState.exists) {
73
- throw new Error(`Config not found: ${configPda}`);
72
+ throw new Error('Config not found');
74
73
  }
75
74
  }
76
75
  catch (error) {
77
76
  throw new Error(`Failed to fetch config state: ${error}`);
78
77
  }
78
+ // Handle payer using smart signer handler for universal compatibility
79
+ const payerSigner = createTransactionSigner(payer);
79
80
  // Only provide required fields - let Codama auto-generate the rest except rental_thread
80
81
  const input = {
81
- payer: payer, // Pass the signer directly to Codama
82
+ payer: payerSigner, // Pass TransactionSigner for proper handling
82
83
  mint: resolvedAddresses.atlasMint, // Use resolved ATLAS mint from config
83
84
  authority: toAddress(configState.data.authority), // Config authority for fee collection
84
85
  borrower: toAddress(borrower),
@@ -138,19 +139,19 @@ async function _closeRental(params, config) {
138
139
  * // Close a completed rental
139
140
  * const instruction = await closeRental({
140
141
  * payer: wallet, // Transaction payer
141
- * rentalStateAddress: "RentalState..." // Rental state address
142
+ * rentalState: "RentalState..." // Rental state address
142
143
  * });
143
144
  *
144
145
  * // Configure for mainnet
145
146
  * const mainnetInstruction = await closeRental({
146
147
  * payer: wallet,
147
- * rentalStateAddress: "RentalState..."
148
+ * rentalState: "RentalState..."
148
149
  * }).set({ programs: 'mainnet' });
149
150
  *
150
151
  * // Convert to @solana/web3.js format
151
152
  * const web3jsInstruction = await closeRental({
152
153
  * payer: wallet,
153
- * rentalStateAddress: "RentalState..."
154
+ * rentalState: "RentalState..."
154
155
  * }).web3js();
155
156
  *
156
157
  * // Use with your preferred Solana library
@@ -184,4 +185,14 @@ export function getCloseRentalInstructionAsync(input, options) {
184
185
  return instructionsModule.getCloseRentalInstructionAsync(input, options);
185
186
  });
186
187
  }
188
+ // Demo export for documentation site
189
+ export const closeRentalDemo = {
190
+ tabName: "close",
191
+ description: "Close a completed rental",
192
+ imports: `import { closeRental } from '@wuwei-labs/srsly';`,
193
+ instruction: `const instruction = await closeRental({
194
+ payer: (signer || wallet).publicKey?.toBase58(),
195
+ rentalState: "RENTAL_STATE_ADDRESS"
196
+ });`
197
+ };
187
198
  //# sourceMappingURL=close.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"close.js","sourceRoot":"","sources":["../../../src/rental/close.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"close.js","sourceRoot":"","sources":["../../../src/rental/close.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { deriveGameAccounts } from '../utils';
4
4
  import { createFluentInstruction, createSmartFluentConfigSelector } from '../utils/instruction-converter';
5
5
  import { fetchMaybeContractState } from '../codama/accounts';
6
6
  import { createSolanaRpc } from '@solana/kit';
7
+ import { createTransactionSigner } from '../utils/signer';
7
8
  /**
8
9
  * Internal function to create a contract reset temp instruction with configuration options.
9
10
  *
@@ -39,9 +40,11 @@ async function _resetContractTemp(params, config) {
39
40
  // Manually derive ALL game accounts - they all use different program addresses
40
41
  const { starbase, starbasePlayer } = await deriveGameAccounts(toAddress(ownerProfile), faction, resolvedAddresses.gameId, 0, // starbaseSeqId
41
42
  config);
43
+ // Handle signer using smart signer handler for universal compatibility
44
+ const signerTransactionSigner = createTransactionSigner(signer);
42
45
  // Create input for the instruction
43
46
  const input = {
44
- signer: signer, // Pass signer directly to Codama
47
+ signer: signerTransactionSigner, // Pass TransactionSigner for proper handling
45
48
  contract: toAddress(contract), // Contract to reset
46
49
  fleet: toAddress(fleet), // Fleet from contract
47
50
  gameId: resolvedAddresses.gameId, // Game ID from config
@@ -1 +1 @@
1
- {"version":3,"file":"reset-contract-temp.js","sourceRoot":"","sources":["../../../src/rental/reset-contract-temp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reset-contract-temp.js","sourceRoot":"","sources":["../../../src/rental/reset-contract-temp.ts"],"names":[],"mappings":"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"}