@wuwei-labs/srsly 2.0.0-beta.37 → 2.0.0-beta.41

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 (177) hide show
  1. package/README.md +2 -1
  2. package/dist/cjs/codama/accounts/config.js +0 -2
  3. package/dist/cjs/codama/accounts/config.js.map +1 -1
  4. package/dist/cjs/codama/accounts/contractState.js.map +1 -1
  5. package/dist/cjs/codama/accounts/rentalState.js +1 -3
  6. package/dist/cjs/codama/accounts/rentalState.js.map +1 -1
  7. package/dist/cjs/codama/errors/srsly.js +13 -1
  8. package/dist/cjs/codama/errors/srsly.js.map +1 -1
  9. package/dist/cjs/codama/instructions/acceptRental.js +1 -28
  10. package/dist/cjs/codama/instructions/acceptRental.js.map +1 -1
  11. package/dist/cjs/codama/instructions/closeRental.js +28 -13
  12. package/dist/cjs/codama/instructions/closeRental.js.map +1 -1
  13. package/dist/cjs/codama/instructions/index.js +1 -0
  14. package/dist/cjs/codama/instructions/index.js.map +1 -1
  15. package/dist/cjs/codama/instructions/payRental.js +1 -18
  16. package/dist/cjs/codama/instructions/payRental.js.map +1 -1
  17. package/dist/cjs/codama/instructions/resetContractTemp.js +146 -0
  18. package/dist/cjs/codama/instructions/resetContractTemp.js.map +1 -0
  19. package/dist/cjs/codama/instructions/resetRental.js +6 -1
  20. package/dist/cjs/codama/instructions/resetRental.js.map +1 -1
  21. package/dist/cjs/codama/instructions/updateConfig.js +0 -2
  22. package/dist/cjs/codama/instructions/updateConfig.js.map +1 -1
  23. package/dist/cjs/codama/programs/srsly.js +6 -2
  24. package/dist/cjs/codama/programs/srsly.js.map +1 -1
  25. package/dist/cjs/codama/types/paymentFrequency.js +31 -0
  26. package/dist/cjs/codama/types/paymentFrequency.js.map +1 -1
  27. package/dist/cjs/contract/close.js +71 -11
  28. package/dist/cjs/contract/close.js.map +1 -1
  29. package/dist/cjs/contract/create.js +88 -21
  30. package/dist/cjs/contract/create.js.map +1 -1
  31. package/dist/cjs/contract/index.js +45 -0
  32. package/dist/cjs/contract/index.js.map +1 -1
  33. package/dist/cjs/index.js +110 -7
  34. package/dist/cjs/index.js.map +1 -1
  35. package/dist/cjs/package.json +4 -4
  36. package/dist/cjs/rental/accept.js +164 -45
  37. package/dist/cjs/rental/accept.js.map +1 -1
  38. package/dist/cjs/rental/cancel.js +82 -16
  39. package/dist/cjs/rental/cancel.js.map +1 -1
  40. package/dist/cjs/rental/close.js +152 -27
  41. package/dist/cjs/rental/close.js.map +1 -1
  42. package/dist/cjs/rental/index.js +85 -0
  43. package/dist/cjs/rental/index.js.map +1 -1
  44. package/dist/cjs/rental/reset-contract-temp.js +103 -0
  45. package/dist/cjs/rental/reset-contract-temp.js.map +1 -0
  46. package/dist/cjs/rental/reset.js +102 -19
  47. package/dist/cjs/rental/reset.js.map +1 -1
  48. package/dist/cjs/utils/config.js +44 -9
  49. package/dist/cjs/utils/config.js.map +1 -1
  50. package/dist/cjs/utils/constants.js +16 -6
  51. package/dist/cjs/utils/constants.js.map +1 -1
  52. package/dist/cjs/utils/index.js +1 -0
  53. package/dist/cjs/utils/index.js.map +1 -1
  54. package/dist/cjs/utils/instruction-converter.js +60 -5
  55. package/dist/cjs/utils/instruction-converter.js.map +1 -1
  56. package/dist/cjs/utils/paymentFrequency.js +7 -2
  57. package/dist/cjs/utils/paymentFrequency.js.map +1 -1
  58. package/dist/cjs/utils/pda.js +191 -0
  59. package/dist/cjs/utils/pda.js.map +1 -0
  60. package/dist/esm/codama/accounts/config.js +0 -2
  61. package/dist/esm/codama/accounts/config.js.map +1 -1
  62. package/dist/esm/codama/accounts/contractState.js.map +1 -1
  63. package/dist/esm/codama/accounts/rentalState.js +1 -3
  64. package/dist/esm/codama/accounts/rentalState.js.map +1 -1
  65. package/dist/esm/codama/errors/srsly.js +12 -0
  66. package/dist/esm/codama/errors/srsly.js.map +1 -1
  67. package/dist/esm/codama/instructions/acceptRental.js +1 -28
  68. package/dist/esm/codama/instructions/acceptRental.js.map +1 -1
  69. package/dist/esm/codama/instructions/closeRental.js +28 -13
  70. package/dist/esm/codama/instructions/closeRental.js.map +1 -1
  71. package/dist/esm/codama/instructions/index.js +1 -0
  72. package/dist/esm/codama/instructions/index.js.map +1 -1
  73. package/dist/esm/codama/instructions/payRental.js +1 -18
  74. package/dist/esm/codama/instructions/payRental.js.map +1 -1
  75. package/dist/esm/codama/instructions/resetContractTemp.js +136 -0
  76. package/dist/esm/codama/instructions/resetContractTemp.js.map +1 -0
  77. package/dist/esm/codama/instructions/resetRental.js +6 -1
  78. package/dist/esm/codama/instructions/resetRental.js.map +1 -1
  79. package/dist/esm/codama/instructions/updateConfig.js +0 -2
  80. package/dist/esm/codama/instructions/updateConfig.js.map +1 -1
  81. package/dist/esm/codama/programs/srsly.js +6 -2
  82. package/dist/esm/codama/programs/srsly.js.map +1 -1
  83. package/dist/esm/codama/types/paymentFrequency.js +31 -0
  84. package/dist/esm/codama/types/paymentFrequency.js.map +1 -1
  85. package/dist/esm/contract/close.js +72 -12
  86. package/dist/esm/contract/close.js.map +1 -1
  87. package/dist/esm/contract/create.js +89 -22
  88. package/dist/esm/contract/create.js.map +1 -1
  89. package/dist/esm/contract/index.js +45 -0
  90. package/dist/esm/contract/index.js.map +1 -1
  91. package/dist/esm/index.js +110 -6
  92. package/dist/esm/index.js.map +1 -1
  93. package/dist/esm/package.json +4 -4
  94. package/dist/esm/rental/accept.js +166 -47
  95. package/dist/esm/rental/accept.js.map +1 -1
  96. package/dist/esm/rental/cancel.js +83 -17
  97. package/dist/esm/rental/cancel.js.map +1 -1
  98. package/dist/esm/rental/close.js +152 -27
  99. package/dist/esm/rental/close.js.map +1 -1
  100. package/dist/esm/rental/index.js +85 -0
  101. package/dist/esm/rental/index.js.map +1 -1
  102. package/dist/esm/rental/reset-contract-temp.js +100 -0
  103. package/dist/esm/rental/reset-contract-temp.js.map +1 -0
  104. package/dist/esm/rental/reset.js +102 -19
  105. package/dist/esm/rental/reset.js.map +1 -1
  106. package/dist/esm/utils/config.js +44 -9
  107. package/dist/esm/utils/config.js.map +1 -1
  108. package/dist/esm/utils/constants.js +16 -6
  109. package/dist/esm/utils/constants.js.map +1 -1
  110. package/dist/esm/utils/index.js +1 -0
  111. package/dist/esm/utils/index.js.map +1 -1
  112. package/dist/esm/utils/instruction-converter.js +59 -5
  113. package/dist/esm/utils/instruction-converter.js.map +1 -1
  114. package/dist/esm/utils/paymentFrequency.js +7 -2
  115. package/dist/esm/utils/paymentFrequency.js.map +1 -1
  116. package/dist/esm/utils/pda.js +185 -0
  117. package/dist/esm/utils/pda.js.map +1 -0
  118. package/dist/types/codama/accounts/config.d.ts +24 -2
  119. package/dist/types/codama/accounts/config.d.ts.map +1 -1
  120. package/dist/types/codama/accounts/contractState.d.ts +26 -0
  121. package/dist/types/codama/accounts/contractState.d.ts.map +1 -1
  122. package/dist/types/codama/accounts/rentalState.d.ts +20 -2
  123. package/dist/types/codama/accounts/rentalState.d.ts.map +1 -1
  124. package/dist/types/codama/errors/srsly.d.ts +9 -1
  125. package/dist/types/codama/errors/srsly.d.ts.map +1 -1
  126. package/dist/types/codama/instructions/acceptRental.d.ts +13 -20
  127. package/dist/types/codama/instructions/acceptRental.d.ts.map +1 -1
  128. package/dist/types/codama/instructions/closeRental.d.ts +33 -13
  129. package/dist/types/codama/instructions/closeRental.d.ts.map +1 -1
  130. package/dist/types/codama/instructions/index.d.ts +1 -0
  131. package/dist/types/codama/instructions/index.d.ts.map +1 -1
  132. package/dist/types/codama/instructions/payRental.d.ts +11 -18
  133. package/dist/types/codama/instructions/payRental.d.ts.map +1 -1
  134. package/dist/types/codama/instructions/resetContractTemp.d.ts +71 -0
  135. package/dist/types/codama/instructions/resetContractTemp.d.ts.map +1 -0
  136. package/dist/types/codama/instructions/resetRental.d.ts +21 -17
  137. package/dist/types/codama/instructions/resetRental.d.ts.map +1 -1
  138. package/dist/types/codama/instructions/updateConfig.d.ts +20 -4
  139. package/dist/types/codama/instructions/updateConfig.d.ts.map +1 -1
  140. package/dist/types/codama/programs/srsly.d.ts +6 -3
  141. package/dist/types/codama/programs/srsly.d.ts.map +1 -1
  142. package/dist/types/codama/types/paymentFrequency.d.ts +31 -0
  143. package/dist/types/codama/types/paymentFrequency.d.ts.map +1 -1
  144. package/dist/types/contract/close.d.ts +77 -16
  145. package/dist/types/contract/close.d.ts.map +1 -1
  146. package/dist/types/contract/create.d.ts +114 -17
  147. package/dist/types/contract/create.d.ts.map +1 -1
  148. package/dist/types/contract/index.d.ts +45 -0
  149. package/dist/types/contract/index.d.ts.map +1 -1
  150. package/dist/types/index.d.ts +111 -1
  151. package/dist/types/index.d.ts.map +1 -1
  152. package/dist/types/rental/accept.d.ts +121 -50
  153. package/dist/types/rental/accept.d.ts.map +1 -1
  154. package/dist/types/rental/cancel.d.ts +80 -16
  155. package/dist/types/rental/cancel.d.ts.map +1 -1
  156. package/dist/types/rental/close.d.ts +86 -26
  157. package/dist/types/rental/close.d.ts.map +1 -1
  158. package/dist/types/rental/index.d.ts +85 -0
  159. package/dist/types/rental/index.d.ts.map +1 -1
  160. package/dist/types/rental/reset-contract-temp.d.ts +77 -0
  161. package/dist/types/rental/reset-contract-temp.d.ts.map +1 -0
  162. package/dist/types/rental/reset.d.ts +114 -24
  163. package/dist/types/rental/reset.d.ts.map +1 -1
  164. package/dist/types/utils/config.d.ts +14 -2
  165. package/dist/types/utils/config.d.ts.map +1 -1
  166. package/dist/types/utils/constants.d.ts +1 -1
  167. package/dist/types/utils/constants.d.ts.map +1 -1
  168. package/dist/types/utils/index.d.ts +1 -0
  169. package/dist/types/utils/index.d.ts.map +1 -1
  170. package/dist/types/utils/instruction-converter.d.ts +70 -20
  171. package/dist/types/utils/instruction-converter.d.ts.map +1 -1
  172. package/dist/types/utils/paymentFrequency.d.ts +3 -3
  173. package/dist/types/utils/paymentFrequency.d.ts.map +1 -1
  174. package/dist/types/utils/pda.d.ts +120 -0
  175. package/dist/types/utils/pda.d.ts.map +1 -0
  176. package/package.json +5 -5
  177. package/target/idl/srsly.json +318 -94
@@ -1 +1 @@
1
- {"version":3,"file":"close.js","sourceRoot":"","sources":["../../../src/rental/close.ts"],"names":[],"mappings":";;AAyFA,kCAIC;AAED,wEAKC;AApGD,4CAAoI;AACpI,kDAA+C;AA0B/C;;GAEG;AACH,KAAK,UAAU,YAAY,CACzB,MAAyB,EACzB,MAAsB;IAEtB,MAAM,EACJ,QAAQ,EACR,iBAAiB,EACjB,QAAQ,GACT,GAAG,MAAM,CAAC;IAEX,gFAAgF;IAChF,MAAM,iBAAiB,GAAG,IAAA,gCAAuB,EAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAEhE,0CAA0C;IAC1C,MAAM,KAAK,GAAG;QACZ,QAAQ,EAAE,IAAA,qBAAS,EAAC,QAAQ,CAAC,EAAgB,gBAAgB;QAC7D,iBAAiB,EAAE,IAAA,qBAAS,EAAC,iBAAiB,CAAC,EAAE,gBAAgB;QACjE,QAAQ,EAAE,IAAA,qBAAS,EAAC,QAAQ,CAAC,EAAe,gBAAgB;KAC7D,CAAC;IAEF,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,IAAA,kBAAS,EAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,EAAE,8BAA8B,EAAE,GAAG,kBAAkB,CAAC;IAC9D,MAAM,EAAE,qBAAqB,EAAE,GAAG,cAAc,CAAC;IAEjD,OAAO,8BAA8B,CACnC,KAAK,EACL,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,WAAW,CACzB,MAAyB;IAEzB,OAAO,IAAA,6BAAoB,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAgB,8BAA8B,CAAC,KAAU,EAAE,OAAa;IACtE,OAAO,IAAA,6BAAoB,EAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;QACrD,OAAO,kBAAkB,CAAC,8BAA8B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"close.js","sourceRoot":"","sources":["../../../src/rental/close.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,88 @@
1
1
  "use strict";
2
+ /**
3
+ * # Rental Operations Module
4
+ *
5
+ * This module provides comprehensive functionality for managing rental operations
6
+ * on the SRSLY program. It includes functions for accepting, canceling, closing,
7
+ * and resetting rentals, with full support for both @solana/kit and @solana/web3.js libraries.
8
+ *
9
+ * ## Available Functions
10
+ *
11
+ * - **acceptRental**: Accept an existing rental contract as a borrower
12
+ * - **cancelRental**: Cancel an active rental before completion
13
+ * - **closeRental**: Close a completed or expired rental
14
+ * - **resetRental**: Reset a canceled rental to make the contract available again
15
+ *
16
+ * ## Rental Lifecycle
17
+ *
18
+ * ```text
19
+ * Contract Created → Accept → [Active Rental] → Close (Complete)
20
+ * ↓ ↓
21
+ * [Payment] Cancel → Reset → [Available Again]
22
+ * ↑ ↓
23
+ * [Automated] [Cleanup]
24
+ * ```
25
+ *
26
+ * ## Features
27
+ *
28
+ * - **Universal Library Support**: Works with both major Solana libraries
29
+ * - **String-Based Addresses**: Eliminates library-specific type conflicts
30
+ * - **Fluent API**: Chainable configuration and format conversion
31
+ * - **Network Agnostic**: Supports different Solana networks
32
+ * - **Automated Payments**: Integration with Clockwork for scheduled payments
33
+ * - **SAGE Integration**: Fleet ownership management in Star Atlas ecosystem
34
+ *
35
+ * ## Common Patterns
36
+ *
37
+ * ### Accept a Rental
38
+ * ```typescript
39
+ * import { acceptRental, days } from '@srsly/sdk';
40
+ *
41
+ * const instruction = await acceptRental({
42
+ * borrower: wallet,
43
+ * borrowerProfile: "ProfileAddr...",
44
+ * borrowerFaction: 'mud',
45
+ * contract: "ContractAddr...",
46
+ * duration: days(7)
47
+ * });
48
+ * ```
49
+ *
50
+ * ### Cancel Active Rental
51
+ * ```typescript
52
+ * import { cancelRental } from '@srsly/sdk';
53
+ *
54
+ * const instruction = await cancelRental({
55
+ * borrower: wallet,
56
+ * contract: "ContractAddr..."
57
+ * });
58
+ * ```
59
+ *
60
+ * ### Close Completed Rental
61
+ * ```typescript
62
+ * import { closeRental } from '@srsly/sdk';
63
+ *
64
+ * const instruction = await closeRental({
65
+ * borrower: "BorrowerAddr...",
66
+ * ownerTokenAccount: "TokenAcct...",
67
+ * contract: "ContractAddr..."
68
+ * });
69
+ * ```
70
+ *
71
+ * ### Reset Canceled Rental
72
+ * ```typescript
73
+ * import { resetRental } from '@srsly/sdk';
74
+ *
75
+ * const instruction = await resetRental({
76
+ * fleet: "FleetAddr...",
77
+ * contract: "ContractAddr...",
78
+ * rentalState: "RentalStateAddr...",
79
+ * faction: 'mud',
80
+ * ownerProfile: "OwnerProfileAddr..."
81
+ * });
82
+ * ```
83
+ *
84
+ * @module Rental
85
+ */
2
86
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
87
  if (k2 === undefined) k2 = k;
4
88
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -18,4 +102,5 @@ __exportStar(require("./accept"), exports);
18
102
  __exportStar(require("./cancel"), exports);
19
103
  __exportStar(require("./close"), exports);
20
104
  __exportStar(require("./reset"), exports);
105
+ __exportStar(require("./reset-contract-temp"), exports);
21
106
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rental/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB;AACzB,0CAAwB;AACxB,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rental/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;;;;;;;;;;;;;;;;AAEH,2CAAyB;AACzB,2CAAyB;AACzB,0CAAwB;AACxB,0CAAwB;AACxB,wDAAsC"}
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resetContractTemp = resetContractTemp;
4
+ const config_1 = require("../utils/config");
5
+ const constants_1 = require("../utils/constants");
6
+ const utils_1 = require("../utils");
7
+ const instruction_converter_1 = require("../utils/instruction-converter");
8
+ const accounts_1 = require("../codama/accounts");
9
+ const kit_1 = require("@solana/kit");
10
+ /**
11
+ * Internal function to create a contract reset temp instruction with configuration options.
12
+ *
13
+ * @internal
14
+ * @param params - The contract reset parameters
15
+ * @param config - Optional configuration for network and program settings
16
+ * @returns Promise resolving to a fluent instruction object
17
+ * @throws Error when contract is not found or account derivation fails
18
+ */
19
+ async function _resetContractTemp(params, config) {
20
+ const { signer, contract, faction, ownerProfile, } = params;
21
+ // Get the resolved addresses from config (including network-specific addresses)
22
+ const globalConfig = (0, config_1.getConfig)();
23
+ const effectiveConfig = { ...globalConfig, ...config };
24
+ const resolvedAddresses = await (0, config_1.resolveProgramAddresses)(effectiveConfig);
25
+ // Fetch contract state to get fleet and owner details
26
+ let contractState;
27
+ try {
28
+ const rpc = (0, kit_1.createSolanaRpc)(resolvedAddresses.rpcUrl);
29
+ contractState = await (0, accounts_1.fetchMaybeContractState)(rpc, (0, constants_1.toAddress)(contract));
30
+ if (!contractState.exists) {
31
+ throw new Error(`Contract not found: ${contract}`);
32
+ }
33
+ }
34
+ catch (error) {
35
+ throw new Error(`Failed to fetch contract state: ${error}`);
36
+ }
37
+ // Extract fleet from contract state
38
+ const fleet = contractState.data.fleet;
39
+ // Manually derive ALL game accounts - they all use different program addresses
40
+ const { starbase, starbasePlayer } = await (0, utils_1.deriveGameAccounts)((0, constants_1.toAddress)(ownerProfile), faction, resolvedAddresses.gameId, 0, // starbaseSeqId
41
+ config);
42
+ // Create input for the instruction
43
+ const input = {
44
+ signer: signer, // Pass signer directly to Codama
45
+ contract: (0, constants_1.toAddress)(contract), // Contract to reset
46
+ fleet: (0, constants_1.toAddress)(fleet), // Fleet from contract
47
+ gameId: resolvedAddresses.gameId, // Game ID from config
48
+ starbase: (0, constants_1.toAddress)(starbase), // Derived starbase
49
+ starbasePlayer: (0, constants_1.toAddress)(starbasePlayer), // Derived starbase player
50
+ sageProgram: resolvedAddresses.sageProgramAddress, // SAGE program from config
51
+ };
52
+ // Get network-specific codama functions from centralized config
53
+ const instructionsModule = (0, config_1.getModule)('instructions');
54
+ const { getResetContractTempInstructionAsync } = instructionsModule;
55
+ const rawInstruction = await getResetContractTempInstructionAsync(input, { programAddress: resolvedAddresses.srslyProgramAddress });
56
+ return (0, instruction_converter_1.createFluentInstruction)(rawInstruction);
57
+ }
58
+ /**
59
+ * Creates a temporary instruction to reset a contract's fleet in SAGE (devnet testing).
60
+ *
61
+ * This function properly resets a contract by:
62
+ * 1. Resetting the fleet in SAGE via CPI call to invalidate_rental(context, false)
63
+ * 2. Setting the contract's current_rental_state to system_program::ID
64
+ * 3. Making the contract available for new rentals
65
+ *
66
+ * ## Features
67
+ *
68
+ * - **Fleet Reset**: Properly resets fleet in SAGE ecosystem
69
+ * - **Contract Reset**: Updates contract state to be available for new rentals
70
+ * - **Account Derivation**: Automatically derives all required SAGE accounts
71
+ * - **Network Support**: Works across mainnet, atlasnet, and holosim
72
+ * - **Universal Library Support**: Works with both @solana/kit and @solana/web3.js
73
+ *
74
+ * @example
75
+ * ```typescript
76
+ * import { resetContractTemp } from '@wuwei-labs/srsly';
77
+ *
78
+ * // Reset a contract for testing
79
+ * const instruction = await resetContractTemp({
80
+ * signer: wallet,
81
+ * contract: "5YqtCEiGPLH3FqoTCkWXFCLtNFC7StnUydgaYfLSPHWv",
82
+ * faction: 'mud',
83
+ * ownerProfile: "OwnerProfileAddr..."
84
+ * });
85
+ *
86
+ * // Configure for specific network
87
+ * const instruction = await resetContractTemp({
88
+ * signer: wallet,
89
+ * contract: "ContractAddr...",
90
+ * faction: 2,
91
+ * ownerProfile: "OwnerProfileAddr..."
92
+ * }).set({ programs: 'holosim' });
93
+ * ```
94
+ *
95
+ * @param params - The contract reset parameters
96
+ * @returns A FluentConfigSelector that can be configured with .set() or awaited directly
97
+ * @throws Error when contract is not found or account derivation fails
98
+ */
99
+ function resetContractTemp(params) {
100
+ const baseSelector = (0, config_1.createConfigSelector)((config) => _resetContractTemp(params, config));
101
+ return (0, instruction_converter_1.createSmartFluentConfigSelector)(baseSelector);
102
+ }
103
+ //# sourceMappingURL=reset-contract-temp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset-contract-temp.js","sourceRoot":"","sources":["../../../src/rental/reset-contract-temp.ts"],"names":[],"mappings":";;AAkKA,8CAKC;AAvKD,4CAA+I;AAC/I,kDAA+C;AAC/C,oCAA8C;AAC9C,0EAAkK;AAClK,iDAA6D;AAC7D,qCAA8C;AAwC9C;;;;;;;;GAQG;AACH,KAAK,UAAU,kBAAkB,CAC/B,MAA+B,EAC/B,MAAsB;IAEtB,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,OAAO,EACP,YAAY,GACb,GAAG,MAAM,CAAC;IAEX,gFAAgF;IAChF,MAAM,YAAY,GAAG,IAAA,kBAAS,GAAE,CAAC;IACjC,MAAM,eAAe,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,EAAE,CAAC;IACvD,MAAM,iBAAiB,GAAG,MAAM,IAAA,gCAAuB,EAAC,eAAe,CAAC,CAAC;IAEzE,sDAAsD;IACtD,IAAI,aAAa,CAAC;IAClB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAA,qBAAe,EAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACtD,aAAa,GAAG,MAAM,IAAA,kCAAuB,EAAC,GAAG,EAAE,IAAA,qBAAS,EAAC,QAAQ,CAAC,CAAC,CAAC;QAExE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,oCAAoC;IACpC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;IAEvC,+EAA+E;IAC/E,MAAM,EACJ,QAAQ,EACR,cAAc,EACf,GAAG,MAAM,IAAA,0BAAkB,EAC1B,IAAA,qBAAS,EAAC,YAAY,CAAC,EACvB,OAAO,EACP,iBAAiB,CAAC,MAAM,EACxB,CAAC,EAAE,gBAAgB;IACnB,MAAM,CACP,CAAC;IAEF,mCAAmC;IACnC,MAAM,KAAK,GAAG;QACZ,MAAM,EAAE,MAAM,EAA6B,iCAAiC;QAC5E,QAAQ,EAAE,IAAA,qBAAS,EAAC,QAAQ,CAAC,EAAe,oBAAoB;QAChE,KAAK,EAAE,IAAA,qBAAS,EAAC,KAAK,CAAC,EAAqB,sBAAsB;QAClE,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAAY,sBAAsB;QAClE,QAAQ,EAAE,IAAA,qBAAS,EAAC,QAAQ,CAAC,EAAe,mBAAmB;QAC/D,cAAc,EAAE,IAAA,qBAAS,EAAC,cAAc,CAAC,EAAG,0BAA0B;QACtE,WAAW,EAAE,iBAAiB,CAAC,kBAAkB,EAAE,2BAA2B;KAC/E,CAAC;IAEF,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;IACrD,MAAM,EAAE,oCAAoC,EAAE,GAAG,kBAAkB,CAAC;IAEpE,MAAM,cAAc,GAAG,MAAM,oCAAoC,CAC/D,KAAY,EACZ,EAAE,cAAc,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,CAC1D,CAAC;IAEF,OAAO,IAAA,+CAAuB,EAAC,cAAc,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,SAAgB,iBAAiB,CAC/B,MAA+B;IAE/B,MAAM,YAAY,GAAG,IAAA,6BAAoB,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1F,OAAO,IAAA,uDAA+B,EAAC,YAAY,CAAC,CAAC;AACvD,CAAC"}
@@ -6,12 +6,22 @@ const config_1 = require("../utils/config");
6
6
  const constants_1 = require("../utils/constants");
7
7
  const utils_1 = require("../utils");
8
8
  /**
9
- * Internal function to reset a rental instruction with configuration options
9
+ * Internal function to reset a rental instruction with configuration options.
10
+ *
11
+ * This function handles the core logic of creating a rental reset instruction,
12
+ * including account derivation, address resolution, and instruction generation.
13
+ * The reset clears canceled rental state and prepares the contract for new rentals.
14
+ *
15
+ * @internal
16
+ * @param params - The rental reset parameters
17
+ * @param config - Optional configuration for network and program settings
18
+ * @returns Promise resolving to a reset instruction
19
+ * @throws Error when account derivation fails or required parameters are missing
10
20
  */
11
21
  async function _resetRental(params, config) {
12
- const { fleet, contract, rentalState, faction, ownerProfile, } = params;
22
+ const { payer, fleet, contract, rentalState, faction, ownerProfile, } = params;
13
23
  // Get the resolved addresses from config (including network-specific addresses)
14
- const resolvedAddresses = (0, config_1.resolveProgramAddresses)(config || {});
24
+ const resolvedAddresses = await (0, config_1.resolveProgramAddresses)(config || {});
15
25
  // Derive the three accounts we need
16
26
  const { starbase, starbasePlayer } = await (0, utils_1.deriveGameAccounts)((0, constants_1.toAddress)(ownerProfile), faction, resolvedAddresses.gameId, 0, // starbaseSeqId
17
27
  config);
@@ -20,8 +30,9 @@ async function _resetRental(params, config) {
20
30
  const programsModule = (0, config_1.getModule)('programs');
21
31
  const { getResetRentalInstructionAsync } = instructionsModule;
22
32
  const { SRSLY_PROGRAM_ADDRESS } = programsModule;
23
- // Let codama derive the rest (rentalAuthority)
33
+ // Let codama derive the rest (rentalAuthority)
24
34
  const input = {
35
+ signer: payer, // Pass signer directly to Codama (maps to 'signer' in Rust)
25
36
  fleet: (0, constants_1.toAddress)(fleet), // Ensure string
26
37
  contract: (0, constants_1.toAddress)(contract), // Ensure string
27
38
  rentalState: (0, constants_1.toAddress)(rentalState), // Ensure string
@@ -32,38 +43,110 @@ async function _resetRental(params, config) {
32
43
  return getResetRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
33
44
  }
34
45
  /**
35
- * Creates an instruction to reset a rental with fluent configuration.
46
+ * Creates an instruction to reset a rental contract after cancellation with fluent configuration.
47
+ *
48
+ * This function clears the rental state from a canceled rental, making the contract
49
+ * available for new rentals. It's typically called after a rental has been canceled
50
+ * to clean up the state and allow the fleet to be rented out again.
51
+ *
52
+ * ## Features
53
+ *
54
+ * - **State Cleanup**: Clears canceled rental state from accounts
55
+ * - **Contract Reactivation**: Makes the contract available for new rentals
56
+ * - **Fleet Preparation**: Ensures fleet is ready for future rental operations
57
+ * - **SAGE Integration**: Updates fleet status in the Star Atlas ecosystem
58
+ * - **Account Derivation**: Automatically derives required game accounts
59
+ * - **Universal Library Support**: Works with both @solana/kit and @solana/web3.js
60
+ *
61
+ * ## Process
62
+ *
63
+ * 1. **Validate State**: Ensures rental was properly canceled before reset
64
+ * 2. **Derive Accounts**: Generates required game accounts (starbase, etc.)
65
+ * 3. **Clear State**: Removes canceled rental data from accounts
66
+ * 4. **Update SAGE**: Resets fleet status in the Star Atlas ecosystem
67
+ * 5. **Reactivate Contract**: Makes contract available for new rentals
68
+ *
69
+ * ## Requirements
70
+ *
71
+ * - Rental must be in canceled state (not active or completed)
72
+ * - Caller must have authority to reset the rental
73
+ * - All accounts must be properly initialized
74
+ * - Fleet must be under owner control
75
+ *
76
+ * ## When to Use
77
+ *
78
+ * - **After Cancellation**: When a rental has been canceled and needs cleanup
79
+ * - **Contract Reuse**: To make a contract available for new rentals
80
+ * - **State Recovery**: When rental state needs to be cleared
81
+ * - **Fleet Management**: To prepare fleet for future rental operations
36
82
  *
37
83
  * @example
38
84
  * ```typescript
39
- * // Works with any library - just use strings for addresses!
85
+ * import { resetRental } from '@srsly/sdk';
86
+ *
87
+ * // Reset a canceled rental
40
88
  * const instruction = await resetRental({
41
- * fleet: "FleetAddress123...", // String address
42
- * contract: "ContractAddr...", // String address
43
- * rentalState: "RentalStateAddr...", // String address
44
- * faction: 'mud',
45
- * ownerProfile: "OwnerProfileAddr..." // String address
89
+ * fleet: "FleetAddress123...", // Fleet to reset
90
+ * contract: "ContractAddr...", // Contract to reactivate
91
+ * rentalState: "RentalStateAddr...", // Canceled rental state
92
+ * faction: 'mud', // Owner's faction
93
+ * ownerProfile: "OwnerProfileAddr..." // Owner's Star Atlas profile
46
94
  * });
47
95
  *
48
- * // Use mainnet configuration
49
- * const instruction = await resetRental(params).set({ programs: 'mainnet' });
96
+ * // Configure for mainnet
97
+ * const mainnetInstruction = await resetRental({
98
+ * fleet: "FleetAddress123...",
99
+ * contract: "ContractAddr...",
100
+ * rentalState: "RentalStateAddr...",
101
+ * faction: 1, // Can use numbers: 1=mud, 2=oni, 3=ustur
102
+ * ownerProfile: "OwnerProfileAddr..."
103
+ * }).set({ programs: 'mainnet' });
50
104
  *
51
- * // Override specific constants
52
- * const instruction = await resetRental(params).set({
105
+ * // Override specific game configuration
106
+ * const customInstruction = await resetRental({
107
+ * fleet: "FleetAddress123...",
108
+ * contract: "ContractAddr...",
109
+ * rentalState: "RentalStateAddr...",
110
+ * faction: 'mud',
111
+ * ownerProfile: "OwnerProfileAddr..."
112
+ * }).set({
53
113
  * programs: 'mainnet',
54
- * gameId: 'custom-game-id...' // gameId configured via .set()
114
+ * gameId: 'custom-game-id...'
55
115
  * });
56
116
  *
57
- * // Use the instruction with your preferred Solana library
58
- * // instruction is compatible with both @solana/kit and @solana/web3.js
117
+ * // Convert to @solana/web3.js format
118
+ * const web3jsInstruction = await resetRental({
119
+ * fleet: "FleetAddress123...",
120
+ * contract: "ContractAddr...",
121
+ * rentalState: "RentalStateAddr...",
122
+ * faction: 'mud',
123
+ * ownerProfile: "OwnerProfileAddr..."
124
+ * }).web3js();
125
+ *
126
+ * // Use with your preferred Solana library
127
+ * const transaction = new Transaction().add(web3jsInstruction);
128
+ * await sendAndConfirmTransaction(connection, transaction, [wallet]);
59
129
  * ```
60
130
  *
61
- * @param params The simplified parameters for resetting a rental
131
+ * @param params - The rental reset parameters including fleet, contract, rental state, and owner details
62
132
  * @returns A ConfigSelector that can be configured with .set() or awaited directly
133
+ * @throws Error when rental is not in canceled state or instruction generation fails
63
134
  */
64
135
  function resetRental(params) {
65
136
  return (0, config_1.createConfigSelector)((config) => _resetRental(params, config));
66
137
  }
138
+ /**
139
+ * Low-level function to create a rental reset instruction with raw input parameters.
140
+ *
141
+ * This function provides direct access to the underlying codama-generated instruction
142
+ * builder. It's primarily used internally by the SDK but can be used for advanced
143
+ * use cases where full control over instruction parameters is needed.
144
+ *
145
+ * @internal
146
+ * @param input - Raw instruction input parameters as expected by codama
147
+ * @param options - Optional instruction options including program address
148
+ * @returns A ConfigSelector for the raw instruction
149
+ */
67
150
  function getResetRentalInstructionAsync(input, options) {
68
151
  return (0, config_1.createConfigSelector)(async (config) => {
69
152
  const instructionsModule = (0, config_1.getModule)('instructions');
@@ -1 +1 @@
1
- {"version":3,"file":"reset.js","sourceRoot":"","sources":["../../../src/rental/reset.ts"],"names":[],"mappings":";;AA2HA,kCAIC;AAED,wEAKC;AAtID,4CAAoI;AACpI,kDAA+C;AAC/C,oCAA8C;AAuC9C;;GAEG;AACH,KAAK,UAAU,YAAY,CACzB,MAAyB,EACzB,MAAsB;IAEtB,MAAM,EACJ,KAAK,EACL,QAAQ,EACR,WAAW,EACX,OAAO,EACP,YAAY,GACb,GAAG,MAAM,CAAC;IAEX,gFAAgF;IAChF,MAAM,iBAAiB,GAAG,IAAA,gCAAuB,EAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAEhE,oCAAoC;IACpC,MAAM,EACJ,QAAQ,EACR,cAAc,EACf,GAAG,MAAM,IAAA,0BAAkB,EAC1B,IAAA,qBAAS,EAAC,YAAY,CAAC,EACvB,OAAO,EACP,iBAAiB,CAAC,MAAM,EACxB,CAAC,EAAE,gBAAgB;IACnB,MAAM,CACP,CAAC;IAEF,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,IAAA,kBAAS,EAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,EAAE,8BAA8B,EAAE,GAAG,kBAAkB,CAAC;IAC9D,MAAM,EAAE,qBAAqB,EAAE,GAAG,cAAc,CAAC;IAEjD,+CAA+C;IAC/C,MAAM,KAAK,GAAG;QACZ,KAAK,EAAE,IAAA,qBAAS,EAAC,KAAK,CAAC,EAAW,gBAAgB;QAClD,QAAQ,EAAE,IAAA,qBAAS,EAAC,QAAQ,CAAC,EAAK,gBAAgB;QAClD,WAAW,EAAE,IAAA,qBAAS,EAAC,WAAW,CAAC,EAAE,gBAAgB;QACrD,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAAE,+CAA+C;QACjF,QAAQ,EAAyB,yCAAyC;QAC1E,cAAc,EAAmB,yCAAyC;KAC3E,CAAC;IAEF,OAAO,8BAA8B,CACnC,KAAK,EACL,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAgB,WAAW,CACzB,MAAyB;IAEzB,OAAO,IAAA,6BAAoB,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAgB,8BAA8B,CAAC,KAAU,EAAE,OAAa;IACtE,OAAO,IAAA,6BAAoB,EAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;QACrD,OAAO,kBAAkB,CAAC,8BAA8B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"reset.js","sourceRoot":"","sources":["../../../src/rental/reset.ts"],"names":[],"mappings":";;AAqNA,kCAIC;AAcD,wEAKC;AA5OD,4CAAoI;AACpI,kDAA+C;AAC/C,oCAA8C;AAyD9C;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,YAAY,CACzB,MAAyB,EACzB,MAAsB;IAEtB,MAAM,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,WAAW,EACX,OAAO,EACP,YAAY,GACb,GAAG,MAAM,CAAC;IAEX,gFAAgF;IAChF,MAAM,iBAAiB,GAAG,MAAM,IAAA,gCAAuB,EAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAEtE,oCAAoC;IACpC,MAAM,EACJ,QAAQ,EACR,cAAc,EACf,GAAG,MAAM,IAAA,0BAAkB,EAC1B,IAAA,qBAAS,EAAC,YAAY,CAAC,EACvB,OAAO,EACP,iBAAiB,CAAC,MAAM,EACxB,CAAC,EAAE,gBAAgB;IACnB,MAAM,CACP,CAAC;IAEF,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,IAAA,kBAAS,EAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,EAAE,8BAA8B,EAAE,GAAG,kBAAkB,CAAC;IAC9D,MAAM,EAAE,qBAAqB,EAAE,GAAG,cAAc,CAAC;IAEjD,iDAAiD;IACjD,MAAM,KAAK,GAAG;QACZ,MAAM,EAAE,KAAK,EAAoB,4DAA4D;QAC7F,KAAK,EAAE,IAAA,qBAAS,EAAC,KAAK,CAAC,EAAW,gBAAgB;QAClD,QAAQ,EAAE,IAAA,qBAAS,EAAC,QAAQ,CAAC,EAAK,gBAAgB;QAClD,WAAW,EAAE,IAAA,qBAAS,EAAC,WAAW,CAAC,EAAE,gBAAgB;QACrD,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAAE,+CAA+C;QACjF,QAAQ,EAAyB,yCAAyC;QAC1E,cAAc,EAAmB,yCAAyC;KAC3E,CAAC;IAEF,OAAO,8BAA8B,CACnC,KAAK,EACL,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyFG;AACH,SAAgB,WAAW,CACzB,MAAyB;IAEzB,OAAO,IAAA,6BAAoB,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,8BAA8B,CAAC,KAAU,EAAE,OAAa;IACtE,OAAO,IAAA,6BAAoB,EAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;QACrD,OAAO,kBAAkB,CAAC,8BAA8B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -56,17 +56,16 @@ const PROGRAM_SETS = {
56
56
  PROFILE_FACTION_PROGRAM_ADDRESS: 'pFACSRuobDmvfMKq1bAzwj27t6d2GJhSCHb1VcfnRmq',
57
57
  SAGE_GAME_ID: 'GAMEzqJehF8yAnKiTARUuhZMvLvkZVAsCVri5vSfemLr',
58
58
  ATLAS_MINT: 'ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx',
59
- RPC_URL: 'https://api.mainnet-beta.solana.com',
60
59
  },
61
60
  atlasnet: {
62
61
  SAGE_PROGRAM_ADDRESS: 'SAgeTraQfBMdvGVDJYoEvjnbq5szW7RJPi6obDTDQUF',
63
- PROFILE_FACTION_PROGRAM_ADDRESS: 'PprofUW1pURCnMW2si88GWPXEEK3Bvh9Tksy8WtnoYJ',
62
+ PROFILE_FACTION_PROGRAM_ADDRESS: 'pFACzkX2eSpAjDyEohD6i3VRJvREtH9ynbtM1DwVFsj',
64
63
  SAGE_GAME_ID: 'GAMEC7U7cqmFFaRow33j1LwuV8u4YhAS1mJ5Dqjnar2k',
65
64
  ATLAS_MINT: 'ATLA5nAaVRfH6BNwD4SAyWp96EdQaAh6bBmGeTx956sx',
66
65
  },
67
66
  holosim: {
68
67
  SAGE_PROGRAM_ADDRESS: 'SAgeTraQfBMdvGVDJYoEvjnbq5szW7RJPi6obDTDQUF',
69
- PROFILE_FACTION_PROGRAM_ADDRESS: 'PprofUW1pURCnMW2si88GWPXEEK3Bvh9Tksy8WtnoYJ',
68
+ PROFILE_FACTION_PROGRAM_ADDRESS: 'pFACzkX2eSpAjDyEohD6i3VRJvREtH9ynbtM1DwVFsj',
70
69
  SAGE_GAME_ID: 'GAMEC7U7cqmFFaRow33j1LwuV8u4YhAS1mJ5Dqjnar2k',
71
70
  ATLAS_MINT: 'ATLA5nAaVRfH6BNwD4SAyWp96EdQaAh6bBmGeTx956sx',
72
71
  },
@@ -80,7 +79,7 @@ let globalConfig = {};
80
79
  * @param config Effective configuration options
81
80
  * @returns Resolved program addresses
82
81
  */
83
- function resolveProgramAddresses(config) {
82
+ async function resolveProgramAddresses(config) {
84
83
  // Determine which program set to use
85
84
  const programSet = config.programs || DEFAULT_PROGRAM_SET;
86
85
  // Get program addresses from program sets
@@ -88,12 +87,48 @@ function resolveProgramAddresses(config) {
88
87
  if (!programConfig) {
89
88
  throw new Error(`Unknown program set: ${programSet}. Available: ${Object.keys(PROGRAM_SETS).join(', ')}`);
90
89
  }
90
+ // RPC URL priority: user config > Solana CLI config > error
91
+ let rpcUrl = config.rpcUrl;
92
+ // If no RPC URL provided, try to get it from Solana CLI config
93
+ if (!rpcUrl) {
94
+ try {
95
+ // Try to read Solana CLI config
96
+ const os = await Promise.resolve().then(() => __importStar(require('os')));
97
+ const fs = await Promise.resolve().then(() => __importStar(require('fs')));
98
+ const path = await Promise.resolve().then(() => __importStar(require('path')));
99
+ const solanaConfigPath = path.join(os.homedir(), '.config', 'solana', 'cli', 'config.yml');
100
+ if (fs.existsSync(solanaConfigPath)) {
101
+ const configContent = fs.readFileSync(solanaConfigPath, 'utf-8');
102
+ const match = configContent.match(/json_rpc_url:\s*(.+)/);
103
+ if (match) {
104
+ rpcUrl = match[1].trim();
105
+ }
106
+ }
107
+ }
108
+ catch (error) {
109
+ // Ignore errors reading Solana CLI config
110
+ }
111
+ }
112
+ if (!rpcUrl) {
113
+ throw new Error(`No RPC URL configured. Please provide an RPC URL via: ` +
114
+ `1. setConfig({ rpcUrl: "https://your-rpc-url" })` +
115
+ `2. functionCall().set({ rpcUrl: "https://your-rpc-url" })` +
116
+ `3. Configure Solana CLI: solana config set --url <rpc-url>`);
117
+ }
118
+ const srslyAddress = config.srslyProgramAddress || 'SRSLY1fq9TJqCk1gNSE7VZL2bztvTn9wm4VR8u8jMKT';
119
+ const sageAddress = programConfig.SAGE_PROGRAM_ADDRESS;
120
+ const profileFactionAddress = config.profileFactionProgramAddress || programConfig.PROFILE_FACTION_PROGRAM_ADDRESS;
121
+ const antegenAddress = config.antegenProgramAddress || 'AgThdyi1P5RkVeZD2rQahTvs8HePJoGFFxKtvok5s2J1';
122
+ const gameIdAddress = config.gameId || programConfig.SAGE_GAME_ID;
123
+ const atlasMintAddress = config.atlasMint || programConfig.ATLAS_MINT;
91
124
  return {
92
- srslyProgramAddress: (0, constants_1.toAddress)(config.srslyProgramAddress || 'SRSLY1fq9TJqCk1gNSE7VZL2bztvTn9wm4VR8u8jMKT'),
93
- sageProgramAddress: (0, constants_1.toAddress)(programConfig.SAGE_PROGRAM_ADDRESS), // Fixed - cannot be overridden
94
- profileFactionProgramAddress: (0, constants_1.toAddress)(config.profileFactionProgramAddress || programConfig.PROFILE_FACTION_PROGRAM_ADDRESS),
95
- gameId: (0, constants_1.toAddress)(config.gameId || programConfig.SAGE_GAME_ID),
96
- atlasMint: (0, constants_1.toAddress)(config.atlasMint || programConfig.ATLAS_MINT),
125
+ srslyProgramAddress: (0, constants_1.toAddress)(srslyAddress),
126
+ sageProgramAddress: (0, constants_1.toAddress)(sageAddress), // Fixed - cannot be overridden
127
+ profileFactionProgramAddress: (0, constants_1.toAddress)(profileFactionAddress),
128
+ antegenProgramAddress: (0, constants_1.toAddress)(antegenAddress),
129
+ gameId: (0, constants_1.toAddress)(gameIdAddress),
130
+ atlasMint: (0, constants_1.toAddress)(atlasMintAddress),
131
+ rpcUrl,
97
132
  };
98
133
  }
99
134
  /**
@@ -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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"}
@@ -15,10 +15,20 @@ const kit_1 = require("@solana/kit");
15
15
  * This utility ensures consistent address handling across the SDK
16
16
  */
17
17
  function toAddress(value) {
18
+ // Safety check for undefined/null values with detailed error info
19
+ if (value === undefined || value === null || value === '') {
20
+ const stack = new Error().stack;
21
+ throw new Error(`toAddress received invalid value: ${value} (type: ${typeof value}). Expected a non-empty string address. Call stack: ${stack}`);
22
+ }
18
23
  // If it's already an Address type, return as-is
19
24
  if ((0, kit_1.isAddress)(value)) {
20
25
  return value;
21
26
  }
27
+ // Debug logging for problematic address
28
+ if (typeof value === 'string' && value.length === 27) {
29
+ console.error(`toAddress: Found 27-character address: "${value}"`);
30
+ throw new Error(`Invalid address length: "${value}" (${value.length} characters). Solana addresses should be 32-44 characters.`);
31
+ }
22
32
  // Convert string to Address using @solana/kit
23
33
  return (0, kit_1.address)(value);
24
34
  }
@@ -26,7 +36,7 @@ function toAddress(value) {
26
36
  exports.STARBASE_SEED = 'Starbase';
27
37
  exports.STARBASE_PLAYER_SEED = 'starbase_player';
28
38
  exports.SAGE_PLAYER_PROFILE_SEED = 'sage_player_profile';
29
- exports.PROFILE_FACTION_SEED = 'profile_faction';
39
+ exports.PROFILE_FACTION_SEED = 'player_faction';
30
40
  // Token conversion constants
31
41
  exports.ATLAS_TO_STARDUST = 100_000_000; // 1 ATLAS = 100,000,000 stardust
32
42
  // PaymentFrequency enum is now exported from codama-generated types
@@ -34,7 +44,7 @@ exports.ATLAS_TO_STARDUST = 100_000_000; // 1 ATLAS = 100,000,000 stardust
34
44
  async function getSrslyProgramAddress(config) {
35
45
  const globalConfig = (0, config_1.getConfig)();
36
46
  const effectiveConfig = { ...globalConfig, ...config };
37
- const resolved = (0, config_1.resolveProgramAddresses)(effectiveConfig);
47
+ const resolved = await (0, config_1.resolveProgramAddresses)(effectiveConfig);
38
48
  return toAddress(resolved.srslyProgramAddress);
39
49
  }
40
50
  // Export async function to get program ID
@@ -45,26 +55,26 @@ async function getProgramId() {
45
55
  async function getSageProgramAddress(config) {
46
56
  const globalConfig = (0, config_1.getConfig)();
47
57
  const effectiveConfig = { ...globalConfig, ...config };
48
- const resolved = (0, config_1.resolveProgramAddresses)(effectiveConfig);
58
+ const resolved = await (0, config_1.resolveProgramAddresses)(effectiveConfig);
49
59
  // Note: SAGE program address is fixed based on network and cannot be overridden
50
60
  return resolved.sageProgramAddress; // Already converted to Address in resolveProgramAddresses
51
61
  }
52
62
  async function getProfileFactionProgramAddress(config) {
53
63
  const globalConfig = (0, config_1.getConfig)();
54
64
  const effectiveConfig = { ...globalConfig, ...config };
55
- const resolved = (0, config_1.resolveProgramAddresses)(effectiveConfig);
65
+ const resolved = await (0, config_1.resolveProgramAddresses)(effectiveConfig);
56
66
  return toAddress(resolved.profileFactionProgramAddress);
57
67
  }
58
68
  async function getSageGameId(config) {
59
69
  const globalConfig = (0, config_1.getConfig)();
60
70
  const effectiveConfig = { ...globalConfig, ...config };
61
- const resolved = (0, config_1.resolveProgramAddresses)(effectiveConfig);
71
+ const resolved = await (0, config_1.resolveProgramAddresses)(effectiveConfig);
62
72
  return resolved.gameId; // Already converted to Address in resolveProgramAddresses
63
73
  }
64
74
  async function getAtlasMint(config) {
65
75
  const globalConfig = (0, config_1.getConfig)();
66
76
  const effectiveConfig = { ...globalConfig, ...config };
67
- const resolved = (0, config_1.resolveProgramAddresses)(effectiveConfig);
77
+ const resolved = await (0, config_1.resolveProgramAddresses)(effectiveConfig);
68
78
  return resolved.atlasMint; // Already converted to Address in resolveProgramAddresses
69
79
  }
70
80
  // Faction-specific CSS coordinates for starbase derivation
@@ -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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"}
@@ -21,4 +21,5 @@ __exportStar(require("./paymentFrequency"), exports);
21
21
  __exportStar(require("./duration"), exports);
22
22
  __exportStar(require("./instruction-converter"), exports);
23
23
  __exportStar(require("./fetch-accounts"), exports);
24
+ __exportStar(require("./pda"), exports);
24
25
  //# 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;AACzB,qDAAmC;AACnC,6CAA2B;AAC3B,0DAAwC;AACxC,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6CAA2B;AAC3B,2CAAyB;AACzB,qDAAmC;AACnC,6CAA2B;AAC3B,0DAAwC;AACxC,mDAAiC;AACjC,wCAAsB"}