@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":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,uBAAuB,EAA2C,MAAM,iBAAiB,CAAC;AACpI,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;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,uBAAuB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAEhE,0CAA0C;IAC1C,MAAM,KAAK,GAAG;QACZ,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAgB,gBAAgB;QAC7D,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,CAAC,EAAE,gBAAgB;QACjE,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAe,gBAAgB;KAC7D,CAAC;IAEF,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,SAAS,CAAC,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,MAAM,UAAU,WAAW,CACzB,MAAyB;IAEzB,OAAO,oBAAoB,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAU,EAAE,OAAa;IACtE,OAAO,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,kBAAkB,GAAG,SAAS,CAAC,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,5 +1,90 @@
1
+ /**
2
+ * # Rental Operations Module
3
+ *
4
+ * This module provides comprehensive functionality for managing rental operations
5
+ * on the SRSLY program. It includes functions for accepting, canceling, closing,
6
+ * and resetting rentals, with full support for both @solana/kit and @solana/web3.js libraries.
7
+ *
8
+ * ## Available Functions
9
+ *
10
+ * - **acceptRental**: Accept an existing rental contract as a borrower
11
+ * - **cancelRental**: Cancel an active rental before completion
12
+ * - **closeRental**: Close a completed or expired rental
13
+ * - **resetRental**: Reset a canceled rental to make the contract available again
14
+ *
15
+ * ## Rental Lifecycle
16
+ *
17
+ * ```text
18
+ * Contract Created → Accept → [Active Rental] → Close (Complete)
19
+ * ↓ ↓
20
+ * [Payment] Cancel → Reset → [Available Again]
21
+ * ↑ ↓
22
+ * [Automated] [Cleanup]
23
+ * ```
24
+ *
25
+ * ## Features
26
+ *
27
+ * - **Universal Library Support**: Works with both major Solana libraries
28
+ * - **String-Based Addresses**: Eliminates library-specific type conflicts
29
+ * - **Fluent API**: Chainable configuration and format conversion
30
+ * - **Network Agnostic**: Supports different Solana networks
31
+ * - **Automated Payments**: Integration with Clockwork for scheduled payments
32
+ * - **SAGE Integration**: Fleet ownership management in Star Atlas ecosystem
33
+ *
34
+ * ## Common Patterns
35
+ *
36
+ * ### Accept a Rental
37
+ * ```typescript
38
+ * import { acceptRental, days } from '@srsly/sdk';
39
+ *
40
+ * const instruction = await acceptRental({
41
+ * borrower: wallet,
42
+ * borrowerProfile: "ProfileAddr...",
43
+ * borrowerFaction: 'mud',
44
+ * contract: "ContractAddr...",
45
+ * duration: days(7)
46
+ * });
47
+ * ```
48
+ *
49
+ * ### Cancel Active Rental
50
+ * ```typescript
51
+ * import { cancelRental } from '@srsly/sdk';
52
+ *
53
+ * const instruction = await cancelRental({
54
+ * borrower: wallet,
55
+ * contract: "ContractAddr..."
56
+ * });
57
+ * ```
58
+ *
59
+ * ### Close Completed Rental
60
+ * ```typescript
61
+ * import { closeRental } from '@srsly/sdk';
62
+ *
63
+ * const instruction = await closeRental({
64
+ * borrower: "BorrowerAddr...",
65
+ * ownerTokenAccount: "TokenAcct...",
66
+ * contract: "ContractAddr..."
67
+ * });
68
+ * ```
69
+ *
70
+ * ### Reset Canceled Rental
71
+ * ```typescript
72
+ * import { resetRental } from '@srsly/sdk';
73
+ *
74
+ * const instruction = await resetRental({
75
+ * fleet: "FleetAddr...",
76
+ * contract: "ContractAddr...",
77
+ * rentalState: "RentalStateAddr...",
78
+ * faction: 'mud',
79
+ * ownerProfile: "OwnerProfileAddr..."
80
+ * });
81
+ * ```
82
+ *
83
+ * @module Rental
84
+ */
1
85
  export * from "./accept";
2
86
  export * from "./cancel";
3
87
  export * from "./close";
4
88
  export * from "./reset";
89
+ export * from "./reset-contract-temp";
5
90
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rental/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rental/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,100 @@
1
+ import { getModule, createConfigSelector, resolveProgramAddresses, getConfig } from '../utils/config';
2
+ import { toAddress } from '../utils/constants';
3
+ import { deriveGameAccounts } from '../utils';
4
+ import { createFluentInstruction, createSmartFluentConfigSelector } from '../utils/instruction-converter';
5
+ import { fetchMaybeContractState } from '../codama/accounts';
6
+ import { createSolanaRpc } from '@solana/kit';
7
+ /**
8
+ * Internal function to create a contract reset temp instruction with configuration options.
9
+ *
10
+ * @internal
11
+ * @param params - The contract reset parameters
12
+ * @param config - Optional configuration for network and program settings
13
+ * @returns Promise resolving to a fluent instruction object
14
+ * @throws Error when contract is not found or account derivation fails
15
+ */
16
+ async function _resetContractTemp(params, config) {
17
+ const { signer, contract, faction, ownerProfile, } = params;
18
+ // Get the resolved addresses from config (including network-specific addresses)
19
+ const globalConfig = getConfig();
20
+ const effectiveConfig = { ...globalConfig, ...config };
21
+ const resolvedAddresses = await resolveProgramAddresses(effectiveConfig);
22
+ // Fetch contract state to get fleet and owner details
23
+ let contractState;
24
+ try {
25
+ const rpc = createSolanaRpc(resolvedAddresses.rpcUrl);
26
+ contractState = await fetchMaybeContractState(rpc, toAddress(contract));
27
+ if (!contractState.exists) {
28
+ throw new Error(`Contract not found: ${contract}`);
29
+ }
30
+ }
31
+ catch (error) {
32
+ throw new Error(`Failed to fetch contract state: ${error}`);
33
+ }
34
+ // Extract fleet from contract state
35
+ const fleet = contractState.data.fleet;
36
+ // Manually derive ALL game accounts - they all use different program addresses
37
+ const { starbase, starbasePlayer } = await deriveGameAccounts(toAddress(ownerProfile), faction, resolvedAddresses.gameId, 0, // starbaseSeqId
38
+ config);
39
+ // Create input for the instruction
40
+ const input = {
41
+ signer: signer, // Pass signer directly to Codama
42
+ contract: toAddress(contract), // Contract to reset
43
+ fleet: toAddress(fleet), // Fleet from contract
44
+ gameId: resolvedAddresses.gameId, // Game ID from config
45
+ starbase: toAddress(starbase), // Derived starbase
46
+ starbasePlayer: toAddress(starbasePlayer), // Derived starbase player
47
+ sageProgram: resolvedAddresses.sageProgramAddress, // SAGE program from config
48
+ };
49
+ // Get network-specific codama functions from centralized config
50
+ const instructionsModule = getModule('instructions');
51
+ const { getResetContractTempInstructionAsync } = instructionsModule;
52
+ const rawInstruction = await getResetContractTempInstructionAsync(input, { programAddress: resolvedAddresses.srslyProgramAddress });
53
+ return createFluentInstruction(rawInstruction);
54
+ }
55
+ /**
56
+ * Creates a temporary instruction to reset a contract's fleet in SAGE (devnet testing).
57
+ *
58
+ * This function properly resets a contract by:
59
+ * 1. Resetting the fleet in SAGE via CPI call to invalidate_rental(context, false)
60
+ * 2. Setting the contract's current_rental_state to system_program::ID
61
+ * 3. Making the contract available for new rentals
62
+ *
63
+ * ## Features
64
+ *
65
+ * - **Fleet Reset**: Properly resets fleet in SAGE ecosystem
66
+ * - **Contract Reset**: Updates contract state to be available for new rentals
67
+ * - **Account Derivation**: Automatically derives all required SAGE accounts
68
+ * - **Network Support**: Works across mainnet, atlasnet, and holosim
69
+ * - **Universal Library Support**: Works with both @solana/kit and @solana/web3.js
70
+ *
71
+ * @example
72
+ * ```typescript
73
+ * import { resetContractTemp } from '@wuwei-labs/srsly';
74
+ *
75
+ * // Reset a contract for testing
76
+ * const instruction = await resetContractTemp({
77
+ * signer: wallet,
78
+ * contract: "5YqtCEiGPLH3FqoTCkWXFCLtNFC7StnUydgaYfLSPHWv",
79
+ * faction: 'mud',
80
+ * ownerProfile: "OwnerProfileAddr..."
81
+ * });
82
+ *
83
+ * // Configure for specific network
84
+ * const instruction = await resetContractTemp({
85
+ * signer: wallet,
86
+ * contract: "ContractAddr...",
87
+ * faction: 2,
88
+ * ownerProfile: "OwnerProfileAddr..."
89
+ * }).set({ programs: 'holosim' });
90
+ * ```
91
+ *
92
+ * @param params - The contract reset parameters
93
+ * @returns A FluentConfigSelector that can be configured with .set() or awaited directly
94
+ * @throws Error when contract is not found or account derivation fails
95
+ */
96
+ export function resetContractTemp(params) {
97
+ const baseSelector = createConfigSelector((config) => _resetContractTemp(params, config));
98
+ return createSmartFluentConfigSelector(baseSelector);
99
+ }
100
+ //# 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":"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"}
@@ -2,12 +2,22 @@ import { getModule, createConfigSelector, resolveProgramAddresses } from '../uti
2
2
  import { toAddress } from '../utils/constants';
3
3
  import { deriveGameAccounts } from '../utils';
4
4
  /**
5
- * Internal function to reset a rental instruction with configuration options
5
+ * Internal function to reset a rental instruction with configuration options.
6
+ *
7
+ * This function handles the core logic of creating a rental reset instruction,
8
+ * including account derivation, address resolution, and instruction generation.
9
+ * The reset clears canceled rental state and prepares the contract for new rentals.
10
+ *
11
+ * @internal
12
+ * @param params - The rental reset parameters
13
+ * @param config - Optional configuration for network and program settings
14
+ * @returns Promise resolving to a reset instruction
15
+ * @throws Error when account derivation fails or required parameters are missing
6
16
  */
7
17
  async function _resetRental(params, config) {
8
- const { fleet, contract, rentalState, faction, ownerProfile, } = params;
18
+ const { payer, fleet, contract, rentalState, faction, ownerProfile, } = params;
9
19
  // Get the resolved addresses from config (including network-specific addresses)
10
- const resolvedAddresses = resolveProgramAddresses(config || {});
20
+ const resolvedAddresses = await resolveProgramAddresses(config || {});
11
21
  // Derive the three accounts we need
12
22
  const { starbase, starbasePlayer } = await deriveGameAccounts(toAddress(ownerProfile), faction, resolvedAddresses.gameId, 0, // starbaseSeqId
13
23
  config);
@@ -16,8 +26,9 @@ async function _resetRental(params, config) {
16
26
  const programsModule = getModule('programs');
17
27
  const { getResetRentalInstructionAsync } = instructionsModule;
18
28
  const { SRSLY_PROGRAM_ADDRESS } = programsModule;
19
- // Let codama derive the rest (rentalAuthority)
29
+ // Let codama derive the rest (rentalAuthority)
20
30
  const input = {
31
+ signer: payer, // Pass signer directly to Codama (maps to 'signer' in Rust)
21
32
  fleet: toAddress(fleet), // Ensure string
22
33
  contract: toAddress(contract), // Ensure string
23
34
  rentalState: toAddress(rentalState), // Ensure string
@@ -28,38 +39,110 @@ async function _resetRental(params, config) {
28
39
  return getResetRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
29
40
  }
30
41
  /**
31
- * Creates an instruction to reset a rental with fluent configuration.
42
+ * Creates an instruction to reset a rental contract after cancellation with fluent configuration.
43
+ *
44
+ * This function clears the rental state from a canceled rental, making the contract
45
+ * available for new rentals. It's typically called after a rental has been canceled
46
+ * to clean up the state and allow the fleet to be rented out again.
47
+ *
48
+ * ## Features
49
+ *
50
+ * - **State Cleanup**: Clears canceled rental state from accounts
51
+ * - **Contract Reactivation**: Makes the contract available for new rentals
52
+ * - **Fleet Preparation**: Ensures fleet is ready for future rental operations
53
+ * - **SAGE Integration**: Updates fleet status in the Star Atlas ecosystem
54
+ * - **Account Derivation**: Automatically derives required game accounts
55
+ * - **Universal Library Support**: Works with both @solana/kit and @solana/web3.js
56
+ *
57
+ * ## Process
58
+ *
59
+ * 1. **Validate State**: Ensures rental was properly canceled before reset
60
+ * 2. **Derive Accounts**: Generates required game accounts (starbase, etc.)
61
+ * 3. **Clear State**: Removes canceled rental data from accounts
62
+ * 4. **Update SAGE**: Resets fleet status in the Star Atlas ecosystem
63
+ * 5. **Reactivate Contract**: Makes contract available for new rentals
64
+ *
65
+ * ## Requirements
66
+ *
67
+ * - Rental must be in canceled state (not active or completed)
68
+ * - Caller must have authority to reset the rental
69
+ * - All accounts must be properly initialized
70
+ * - Fleet must be under owner control
71
+ *
72
+ * ## When to Use
73
+ *
74
+ * - **After Cancellation**: When a rental has been canceled and needs cleanup
75
+ * - **Contract Reuse**: To make a contract available for new rentals
76
+ * - **State Recovery**: When rental state needs to be cleared
77
+ * - **Fleet Management**: To prepare fleet for future rental operations
32
78
  *
33
79
  * @example
34
80
  * ```typescript
35
- * // Works with any library - just use strings for addresses!
81
+ * import { resetRental } from '@srsly/sdk';
82
+ *
83
+ * // Reset a canceled rental
36
84
  * const instruction = await resetRental({
37
- * fleet: "FleetAddress123...", // String address
38
- * contract: "ContractAddr...", // String address
39
- * rentalState: "RentalStateAddr...", // String address
40
- * faction: 'mud',
41
- * ownerProfile: "OwnerProfileAddr..." // String address
85
+ * fleet: "FleetAddress123...", // Fleet to reset
86
+ * contract: "ContractAddr...", // Contract to reactivate
87
+ * rentalState: "RentalStateAddr...", // Canceled rental state
88
+ * faction: 'mud', // Owner's faction
89
+ * ownerProfile: "OwnerProfileAddr..." // Owner's Star Atlas profile
42
90
  * });
43
91
  *
44
- * // Use mainnet configuration
45
- * const instruction = await resetRental(params).set({ programs: 'mainnet' });
92
+ * // Configure for mainnet
93
+ * const mainnetInstruction = await resetRental({
94
+ * fleet: "FleetAddress123...",
95
+ * contract: "ContractAddr...",
96
+ * rentalState: "RentalStateAddr...",
97
+ * faction: 1, // Can use numbers: 1=mud, 2=oni, 3=ustur
98
+ * ownerProfile: "OwnerProfileAddr..."
99
+ * }).set({ programs: 'mainnet' });
46
100
  *
47
- * // Override specific constants
48
- * const instruction = await resetRental(params).set({
101
+ * // Override specific game configuration
102
+ * const customInstruction = await resetRental({
103
+ * fleet: "FleetAddress123...",
104
+ * contract: "ContractAddr...",
105
+ * rentalState: "RentalStateAddr...",
106
+ * faction: 'mud',
107
+ * ownerProfile: "OwnerProfileAddr..."
108
+ * }).set({
49
109
  * programs: 'mainnet',
50
- * gameId: 'custom-game-id...' // gameId configured via .set()
110
+ * gameId: 'custom-game-id...'
51
111
  * });
52
112
  *
53
- * // Use the instruction with your preferred Solana library
54
- * // instruction is compatible with both @solana/kit and @solana/web3.js
113
+ * // Convert to @solana/web3.js format
114
+ * const web3jsInstruction = await resetRental({
115
+ * fleet: "FleetAddress123...",
116
+ * contract: "ContractAddr...",
117
+ * rentalState: "RentalStateAddr...",
118
+ * faction: 'mud',
119
+ * ownerProfile: "OwnerProfileAddr..."
120
+ * }).web3js();
121
+ *
122
+ * // Use with your preferred Solana library
123
+ * const transaction = new Transaction().add(web3jsInstruction);
124
+ * await sendAndConfirmTransaction(connection, transaction, [wallet]);
55
125
  * ```
56
126
  *
57
- * @param params The simplified parameters for resetting a rental
127
+ * @param params - The rental reset parameters including fleet, contract, rental state, and owner details
58
128
  * @returns A ConfigSelector that can be configured with .set() or awaited directly
129
+ * @throws Error when rental is not in canceled state or instruction generation fails
59
130
  */
60
131
  export function resetRental(params) {
61
132
  return createConfigSelector((config) => _resetRental(params, config));
62
133
  }
134
+ /**
135
+ * Low-level function to create a rental reset instruction with raw input parameters.
136
+ *
137
+ * This function provides direct access to the underlying codama-generated instruction
138
+ * builder. It's primarily used internally by the SDK but can be used for advanced
139
+ * use cases where full control over instruction parameters is needed.
140
+ *
141
+ * @internal
142
+ * @param input - Raw instruction input parameters as expected by codama
143
+ * @param options - Optional instruction options including program address
144
+ * @returns A ConfigSelector for the raw instruction
145
+ */
63
146
  export function getResetRentalInstructionAsync(input, options) {
64
147
  return createConfigSelector(async (config) => {
65
148
  const instructionsModule = getModule('instructions');
@@ -1 +1 @@
1
- {"version":3,"file":"reset.js","sourceRoot":"","sources":["../../../src/rental/reset.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;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,uBAAuB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAEhE,oCAAoC;IACpC,MAAM,EACJ,QAAQ,EACR,cAAc,EACf,GAAG,MAAM,kBAAkB,CAC1B,SAAS,CAAC,YAAY,CAAC,EACvB,OAAO,EACP,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,8BAA8B,EAAE,GAAG,kBAAkB,CAAC;IAC9D,MAAM,EAAE,qBAAqB,EAAE,GAAG,cAAc,CAAC;IAEjD,+CAA+C;IAC/C,MAAM,KAAK,GAAG;QACZ,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAW,gBAAgB;QAClD,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAK,gBAAgB;QAClD,WAAW,EAAE,SAAS,CAAC,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,MAAM,UAAU,WAAW,CACzB,MAAyB;IAEzB,OAAO,oBAAoB,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAU,EAAE,OAAa;IACtE,OAAO,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,kBAAkB,GAAG,SAAS,CAAC,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":"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;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,uBAAuB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAEtE,oCAAoC;IACpC,MAAM,EACJ,QAAQ,EACR,cAAc,EACf,GAAG,MAAM,kBAAkB,CAC1B,SAAS,CAAC,YAAY,CAAC,EACvB,OAAO,EACP,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,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,SAAS,CAAC,KAAK,CAAC,EAAW,gBAAgB;QAClD,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAK,gBAAgB;QAClD,WAAW,EAAE,SAAS,CAAC,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,MAAM,UAAU,WAAW,CACzB,MAAyB;IAEzB,OAAO,oBAAoB,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,8BAA8B,CAAC,KAAU,EAAE,OAAa;IACtE,OAAO,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,kBAAkB,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QACrD,OAAO,kBAAkB,CAAC,8BAA8B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -13,17 +13,16 @@ const PROGRAM_SETS = {
13
13
  PROFILE_FACTION_PROGRAM_ADDRESS: 'pFACSRuobDmvfMKq1bAzwj27t6d2GJhSCHb1VcfnRmq',
14
14
  SAGE_GAME_ID: 'GAMEzqJehF8yAnKiTARUuhZMvLvkZVAsCVri5vSfemLr',
15
15
  ATLAS_MINT: 'ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx',
16
- RPC_URL: 'https://api.mainnet-beta.solana.com',
17
16
  },
18
17
  atlasnet: {
19
18
  SAGE_PROGRAM_ADDRESS: 'SAgeTraQfBMdvGVDJYoEvjnbq5szW7RJPi6obDTDQUF',
20
- PROFILE_FACTION_PROGRAM_ADDRESS: 'PprofUW1pURCnMW2si88GWPXEEK3Bvh9Tksy8WtnoYJ',
19
+ PROFILE_FACTION_PROGRAM_ADDRESS: 'pFACzkX2eSpAjDyEohD6i3VRJvREtH9ynbtM1DwVFsj',
21
20
  SAGE_GAME_ID: 'GAMEC7U7cqmFFaRow33j1LwuV8u4YhAS1mJ5Dqjnar2k',
22
21
  ATLAS_MINT: 'ATLA5nAaVRfH6BNwD4SAyWp96EdQaAh6bBmGeTx956sx',
23
22
  },
24
23
  holosim: {
25
24
  SAGE_PROGRAM_ADDRESS: 'SAgeTraQfBMdvGVDJYoEvjnbq5szW7RJPi6obDTDQUF',
26
- PROFILE_FACTION_PROGRAM_ADDRESS: 'PprofUW1pURCnMW2si88GWPXEEK3Bvh9Tksy8WtnoYJ',
25
+ PROFILE_FACTION_PROGRAM_ADDRESS: 'pFACzkX2eSpAjDyEohD6i3VRJvREtH9ynbtM1DwVFsj',
27
26
  SAGE_GAME_ID: 'GAMEC7U7cqmFFaRow33j1LwuV8u4YhAS1mJ5Dqjnar2k',
28
27
  ATLAS_MINT: 'ATLA5nAaVRfH6BNwD4SAyWp96EdQaAh6bBmGeTx956sx',
29
28
  },
@@ -37,7 +36,7 @@ let globalConfig = {};
37
36
  * @param config Effective configuration options
38
37
  * @returns Resolved program addresses
39
38
  */
40
- export function resolveProgramAddresses(config) {
39
+ export async function resolveProgramAddresses(config) {
41
40
  // Determine which program set to use
42
41
  const programSet = config.programs || DEFAULT_PROGRAM_SET;
43
42
  // Get program addresses from program sets
@@ -45,12 +44,48 @@ export function resolveProgramAddresses(config) {
45
44
  if (!programConfig) {
46
45
  throw new Error(`Unknown program set: ${programSet}. Available: ${Object.keys(PROGRAM_SETS).join(', ')}`);
47
46
  }
47
+ // RPC URL priority: user config > Solana CLI config > error
48
+ let rpcUrl = config.rpcUrl;
49
+ // If no RPC URL provided, try to get it from Solana CLI config
50
+ if (!rpcUrl) {
51
+ try {
52
+ // Try to read Solana CLI config
53
+ const os = await import('os');
54
+ const fs = await import('fs');
55
+ const path = await import('path');
56
+ const solanaConfigPath = path.join(os.homedir(), '.config', 'solana', 'cli', 'config.yml');
57
+ if (fs.existsSync(solanaConfigPath)) {
58
+ const configContent = fs.readFileSync(solanaConfigPath, 'utf-8');
59
+ const match = configContent.match(/json_rpc_url:\s*(.+)/);
60
+ if (match) {
61
+ rpcUrl = match[1].trim();
62
+ }
63
+ }
64
+ }
65
+ catch (error) {
66
+ // Ignore errors reading Solana CLI config
67
+ }
68
+ }
69
+ if (!rpcUrl) {
70
+ throw new Error(`No RPC URL configured. Please provide an RPC URL via: ` +
71
+ `1. setConfig({ rpcUrl: "https://your-rpc-url" })` +
72
+ `2. functionCall().set({ rpcUrl: "https://your-rpc-url" })` +
73
+ `3. Configure Solana CLI: solana config set --url <rpc-url>`);
74
+ }
75
+ const srslyAddress = config.srslyProgramAddress || 'SRSLY1fq9TJqCk1gNSE7VZL2bztvTn9wm4VR8u8jMKT';
76
+ const sageAddress = programConfig.SAGE_PROGRAM_ADDRESS;
77
+ const profileFactionAddress = config.profileFactionProgramAddress || programConfig.PROFILE_FACTION_PROGRAM_ADDRESS;
78
+ const antegenAddress = config.antegenProgramAddress || 'AgThdyi1P5RkVeZD2rQahTvs8HePJoGFFxKtvok5s2J1';
79
+ const gameIdAddress = config.gameId || programConfig.SAGE_GAME_ID;
80
+ const atlasMintAddress = config.atlasMint || programConfig.ATLAS_MINT;
48
81
  return {
49
- srslyProgramAddress: toAddress(config.srslyProgramAddress || 'SRSLY1fq9TJqCk1gNSE7VZL2bztvTn9wm4VR8u8jMKT'),
50
- sageProgramAddress: toAddress(programConfig.SAGE_PROGRAM_ADDRESS), // Fixed - cannot be overridden
51
- profileFactionProgramAddress: toAddress(config.profileFactionProgramAddress || programConfig.PROFILE_FACTION_PROGRAM_ADDRESS),
52
- gameId: toAddress(config.gameId || programConfig.SAGE_GAME_ID),
53
- atlasMint: toAddress(config.atlasMint || programConfig.ATLAS_MINT),
82
+ srslyProgramAddress: toAddress(srslyAddress),
83
+ sageProgramAddress: toAddress(sageAddress), // Fixed - cannot be overridden
84
+ profileFactionProgramAddress: toAddress(profileFactionAddress),
85
+ antegenProgramAddress: toAddress(antegenAddress),
86
+ gameId: toAddress(gameIdAddress),
87
+ atlasMint: toAddress(atlasMintAddress),
88
+ rpcUrl,
54
89
  };
55
90
  }
56
91
  /**
@@ -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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"}
@@ -5,10 +5,20 @@ import { address, isAddress } from '@solana/kit';
5
5
  * This utility ensures consistent address handling across the SDK
6
6
  */
7
7
  export function toAddress(value) {
8
+ // Safety check for undefined/null values with detailed error info
9
+ if (value === undefined || value === null || value === '') {
10
+ const stack = new Error().stack;
11
+ throw new Error(`toAddress received invalid value: ${value} (type: ${typeof value}). Expected a non-empty string address. Call stack: ${stack}`);
12
+ }
8
13
  // If it's already an Address type, return as-is
9
14
  if (isAddress(value)) {
10
15
  return value;
11
16
  }
17
+ // Debug logging for problematic address
18
+ if (typeof value === 'string' && value.length === 27) {
19
+ console.error(`toAddress: Found 27-character address: "${value}"`);
20
+ throw new Error(`Invalid address length: "${value}" (${value.length} characters). Solana addresses should be 32-44 characters.`);
21
+ }
12
22
  // Convert string to Address using @solana/kit
13
23
  return address(value);
14
24
  }
@@ -16,7 +26,7 @@ export function toAddress(value) {
16
26
  export const STARBASE_SEED = 'Starbase';
17
27
  export const STARBASE_PLAYER_SEED = 'starbase_player';
18
28
  export const SAGE_PLAYER_PROFILE_SEED = 'sage_player_profile';
19
- export const PROFILE_FACTION_SEED = 'profile_faction';
29
+ export const PROFILE_FACTION_SEED = 'player_faction';
20
30
  // Token conversion constants
21
31
  export const ATLAS_TO_STARDUST = 100_000_000; // 1 ATLAS = 100,000,000 stardust
22
32
  // PaymentFrequency enum is now exported from codama-generated types
@@ -24,7 +34,7 @@ export const ATLAS_TO_STARDUST = 100_000_000; // 1 ATLAS = 100,000,000 stardust
24
34
  export async function getSrslyProgramAddress(config) {
25
35
  const globalConfig = getConfig();
26
36
  const effectiveConfig = { ...globalConfig, ...config };
27
- const resolved = resolveProgramAddresses(effectiveConfig);
37
+ const resolved = await resolveProgramAddresses(effectiveConfig);
28
38
  return toAddress(resolved.srslyProgramAddress);
29
39
  }
30
40
  // Export async function to get program ID
@@ -35,26 +45,26 @@ export async function getProgramId() {
35
45
  export async function getSageProgramAddress(config) {
36
46
  const globalConfig = getConfig();
37
47
  const effectiveConfig = { ...globalConfig, ...config };
38
- const resolved = resolveProgramAddresses(effectiveConfig);
48
+ const resolved = await resolveProgramAddresses(effectiveConfig);
39
49
  // Note: SAGE program address is fixed based on network and cannot be overridden
40
50
  return resolved.sageProgramAddress; // Already converted to Address in resolveProgramAddresses
41
51
  }
42
52
  export async function getProfileFactionProgramAddress(config) {
43
53
  const globalConfig = getConfig();
44
54
  const effectiveConfig = { ...globalConfig, ...config };
45
- const resolved = resolveProgramAddresses(effectiveConfig);
55
+ const resolved = await resolveProgramAddresses(effectiveConfig);
46
56
  return toAddress(resolved.profileFactionProgramAddress);
47
57
  }
48
58
  export async function getSageGameId(config) {
49
59
  const globalConfig = getConfig();
50
60
  const effectiveConfig = { ...globalConfig, ...config };
51
- const resolved = resolveProgramAddresses(effectiveConfig);
61
+ const resolved = await resolveProgramAddresses(effectiveConfig);
52
62
  return resolved.gameId; // Already converted to Address in resolveProgramAddresses
53
63
  }
54
64
  export async function getAtlasMint(config) {
55
65
  const globalConfig = getConfig();
56
66
  const effectiveConfig = { ...globalConfig, ...config };
57
- const resolved = resolveProgramAddresses(effectiveConfig);
67
+ const resolved = await resolveProgramAddresses(effectiveConfig);
58
68
  return resolved.atlasMint; // Already converted to Address in resolveProgramAddresses
59
69
  }
60
70
  // 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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"}
@@ -5,4 +5,5 @@ export * from "./paymentFrequency";
5
5
  export * from "./duration";
6
6
  export * from "./instruction-converter";
7
7
  export * from "./fetch-accounts";
8
+ export * from "./pda";
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,OAAO,CAAC"}