@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.
- package/README.md +2 -1
- package/dist/cjs/codama/accounts/config.js +0 -2
- package/dist/cjs/codama/accounts/config.js.map +1 -1
- package/dist/cjs/codama/accounts/contractState.js.map +1 -1
- package/dist/cjs/codama/accounts/rentalState.js +1 -3
- package/dist/cjs/codama/accounts/rentalState.js.map +1 -1
- package/dist/cjs/codama/errors/srsly.js +13 -1
- package/dist/cjs/codama/errors/srsly.js.map +1 -1
- package/dist/cjs/codama/instructions/acceptRental.js +1 -28
- package/dist/cjs/codama/instructions/acceptRental.js.map +1 -1
- package/dist/cjs/codama/instructions/closeRental.js +28 -13
- package/dist/cjs/codama/instructions/closeRental.js.map +1 -1
- package/dist/cjs/codama/instructions/index.js +1 -0
- package/dist/cjs/codama/instructions/index.js.map +1 -1
- package/dist/cjs/codama/instructions/payRental.js +1 -18
- package/dist/cjs/codama/instructions/payRental.js.map +1 -1
- package/dist/cjs/codama/instructions/resetContractTemp.js +146 -0
- package/dist/cjs/codama/instructions/resetContractTemp.js.map +1 -0
- package/dist/cjs/codama/instructions/resetRental.js +6 -1
- package/dist/cjs/codama/instructions/resetRental.js.map +1 -1
- package/dist/cjs/codama/instructions/updateConfig.js +0 -2
- package/dist/cjs/codama/instructions/updateConfig.js.map +1 -1
- package/dist/cjs/codama/programs/srsly.js +6 -2
- package/dist/cjs/codama/programs/srsly.js.map +1 -1
- package/dist/cjs/codama/types/paymentFrequency.js +31 -0
- package/dist/cjs/codama/types/paymentFrequency.js.map +1 -1
- package/dist/cjs/contract/close.js +71 -11
- package/dist/cjs/contract/close.js.map +1 -1
- package/dist/cjs/contract/create.js +88 -21
- package/dist/cjs/contract/create.js.map +1 -1
- package/dist/cjs/contract/index.js +45 -0
- package/dist/cjs/contract/index.js.map +1 -1
- package/dist/cjs/index.js +110 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/package.json +4 -4
- package/dist/cjs/rental/accept.js +164 -45
- package/dist/cjs/rental/accept.js.map +1 -1
- package/dist/cjs/rental/cancel.js +82 -16
- package/dist/cjs/rental/cancel.js.map +1 -1
- package/dist/cjs/rental/close.js +152 -27
- package/dist/cjs/rental/close.js.map +1 -1
- package/dist/cjs/rental/index.js +85 -0
- package/dist/cjs/rental/index.js.map +1 -1
- package/dist/cjs/rental/reset-contract-temp.js +103 -0
- package/dist/cjs/rental/reset-contract-temp.js.map +1 -0
- package/dist/cjs/rental/reset.js +102 -19
- package/dist/cjs/rental/reset.js.map +1 -1
- package/dist/cjs/utils/config.js +44 -9
- package/dist/cjs/utils/config.js.map +1 -1
- package/dist/cjs/utils/constants.js +16 -6
- package/dist/cjs/utils/constants.js.map +1 -1
- package/dist/cjs/utils/index.js +1 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/instruction-converter.js +60 -5
- package/dist/cjs/utils/instruction-converter.js.map +1 -1
- package/dist/cjs/utils/paymentFrequency.js +7 -2
- package/dist/cjs/utils/paymentFrequency.js.map +1 -1
- package/dist/cjs/utils/pda.js +191 -0
- package/dist/cjs/utils/pda.js.map +1 -0
- package/dist/esm/codama/accounts/config.js +0 -2
- package/dist/esm/codama/accounts/config.js.map +1 -1
- package/dist/esm/codama/accounts/contractState.js.map +1 -1
- package/dist/esm/codama/accounts/rentalState.js +1 -3
- package/dist/esm/codama/accounts/rentalState.js.map +1 -1
- package/dist/esm/codama/errors/srsly.js +12 -0
- package/dist/esm/codama/errors/srsly.js.map +1 -1
- package/dist/esm/codama/instructions/acceptRental.js +1 -28
- package/dist/esm/codama/instructions/acceptRental.js.map +1 -1
- package/dist/esm/codama/instructions/closeRental.js +28 -13
- package/dist/esm/codama/instructions/closeRental.js.map +1 -1
- package/dist/esm/codama/instructions/index.js +1 -0
- package/dist/esm/codama/instructions/index.js.map +1 -1
- package/dist/esm/codama/instructions/payRental.js +1 -18
- package/dist/esm/codama/instructions/payRental.js.map +1 -1
- package/dist/esm/codama/instructions/resetContractTemp.js +136 -0
- package/dist/esm/codama/instructions/resetContractTemp.js.map +1 -0
- package/dist/esm/codama/instructions/resetRental.js +6 -1
- package/dist/esm/codama/instructions/resetRental.js.map +1 -1
- package/dist/esm/codama/instructions/updateConfig.js +0 -2
- package/dist/esm/codama/instructions/updateConfig.js.map +1 -1
- package/dist/esm/codama/programs/srsly.js +6 -2
- package/dist/esm/codama/programs/srsly.js.map +1 -1
- package/dist/esm/codama/types/paymentFrequency.js +31 -0
- package/dist/esm/codama/types/paymentFrequency.js.map +1 -1
- package/dist/esm/contract/close.js +72 -12
- package/dist/esm/contract/close.js.map +1 -1
- package/dist/esm/contract/create.js +89 -22
- package/dist/esm/contract/create.js.map +1 -1
- package/dist/esm/contract/index.js +45 -0
- package/dist/esm/contract/index.js.map +1 -1
- package/dist/esm/index.js +110 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/package.json +4 -4
- package/dist/esm/rental/accept.js +166 -47
- package/dist/esm/rental/accept.js.map +1 -1
- package/dist/esm/rental/cancel.js +83 -17
- package/dist/esm/rental/cancel.js.map +1 -1
- package/dist/esm/rental/close.js +152 -27
- package/dist/esm/rental/close.js.map +1 -1
- package/dist/esm/rental/index.js +85 -0
- package/dist/esm/rental/index.js.map +1 -1
- package/dist/esm/rental/reset-contract-temp.js +100 -0
- package/dist/esm/rental/reset-contract-temp.js.map +1 -0
- package/dist/esm/rental/reset.js +102 -19
- package/dist/esm/rental/reset.js.map +1 -1
- package/dist/esm/utils/config.js +44 -9
- package/dist/esm/utils/config.js.map +1 -1
- package/dist/esm/utils/constants.js +16 -6
- package/dist/esm/utils/constants.js.map +1 -1
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/instruction-converter.js +59 -5
- package/dist/esm/utils/instruction-converter.js.map +1 -1
- package/dist/esm/utils/paymentFrequency.js +7 -2
- package/dist/esm/utils/paymentFrequency.js.map +1 -1
- package/dist/esm/utils/pda.js +185 -0
- package/dist/esm/utils/pda.js.map +1 -0
- package/dist/types/codama/accounts/config.d.ts +24 -2
- package/dist/types/codama/accounts/config.d.ts.map +1 -1
- package/dist/types/codama/accounts/contractState.d.ts +26 -0
- package/dist/types/codama/accounts/contractState.d.ts.map +1 -1
- package/dist/types/codama/accounts/rentalState.d.ts +20 -2
- package/dist/types/codama/accounts/rentalState.d.ts.map +1 -1
- package/dist/types/codama/errors/srsly.d.ts +9 -1
- package/dist/types/codama/errors/srsly.d.ts.map +1 -1
- package/dist/types/codama/instructions/acceptRental.d.ts +13 -20
- package/dist/types/codama/instructions/acceptRental.d.ts.map +1 -1
- package/dist/types/codama/instructions/closeRental.d.ts +33 -13
- package/dist/types/codama/instructions/closeRental.d.ts.map +1 -1
- package/dist/types/codama/instructions/index.d.ts +1 -0
- package/dist/types/codama/instructions/index.d.ts.map +1 -1
- package/dist/types/codama/instructions/payRental.d.ts +11 -18
- package/dist/types/codama/instructions/payRental.d.ts.map +1 -1
- package/dist/types/codama/instructions/resetContractTemp.d.ts +71 -0
- package/dist/types/codama/instructions/resetContractTemp.d.ts.map +1 -0
- package/dist/types/codama/instructions/resetRental.d.ts +21 -17
- package/dist/types/codama/instructions/resetRental.d.ts.map +1 -1
- package/dist/types/codama/instructions/updateConfig.d.ts +20 -4
- package/dist/types/codama/instructions/updateConfig.d.ts.map +1 -1
- package/dist/types/codama/programs/srsly.d.ts +6 -3
- package/dist/types/codama/programs/srsly.d.ts.map +1 -1
- package/dist/types/codama/types/paymentFrequency.d.ts +31 -0
- package/dist/types/codama/types/paymentFrequency.d.ts.map +1 -1
- package/dist/types/contract/close.d.ts +77 -16
- package/dist/types/contract/close.d.ts.map +1 -1
- package/dist/types/contract/create.d.ts +114 -17
- package/dist/types/contract/create.d.ts.map +1 -1
- package/dist/types/contract/index.d.ts +45 -0
- package/dist/types/contract/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +111 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/rental/accept.d.ts +121 -50
- package/dist/types/rental/accept.d.ts.map +1 -1
- package/dist/types/rental/cancel.d.ts +80 -16
- package/dist/types/rental/cancel.d.ts.map +1 -1
- package/dist/types/rental/close.d.ts +86 -26
- package/dist/types/rental/close.d.ts.map +1 -1
- package/dist/types/rental/index.d.ts +85 -0
- package/dist/types/rental/index.d.ts.map +1 -1
- package/dist/types/rental/reset-contract-temp.d.ts +77 -0
- package/dist/types/rental/reset-contract-temp.d.ts.map +1 -0
- package/dist/types/rental/reset.d.ts +114 -24
- package/dist/types/rental/reset.d.ts.map +1 -1
- package/dist/types/utils/config.d.ts +14 -2
- package/dist/types/utils/config.d.ts.map +1 -1
- package/dist/types/utils/constants.d.ts +1 -1
- package/dist/types/utils/constants.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/instruction-converter.d.ts +70 -20
- package/dist/types/utils/instruction-converter.d.ts.map +1 -1
- package/dist/types/utils/paymentFrequency.d.ts +3 -3
- package/dist/types/utils/paymentFrequency.d.ts.map +1 -1
- package/dist/types/utils/pda.d.ts +120 -0
- package/dist/types/utils/pda.d.ts.map +1 -0
- package/package.json +5 -5
- package/target/idl/srsly.json +318 -94
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"close.js","sourceRoot":"","sources":["../../../src/rental/close.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"close.js","sourceRoot":"","sources":["../../../src/rental/close.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/rental/index.js
CHANGED
|
@@ -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":";;;;;;;;;;;;;;;;
|
|
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"}
|
package/dist/cjs/rental/reset.js
CHANGED
|
@@ -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
|
-
*
|
|
85
|
+
* import { resetRental } from '@srsly/sdk';
|
|
86
|
+
*
|
|
87
|
+
* // Reset a canceled rental
|
|
40
88
|
* const instruction = await resetRental({
|
|
41
|
-
* fleet: "FleetAddress123...", //
|
|
42
|
-
* contract: "ContractAddr...", //
|
|
43
|
-
* rentalState: "RentalStateAddr...", //
|
|
44
|
-
* faction: 'mud',
|
|
45
|
-
* ownerProfile: "OwnerProfileAddr..." //
|
|
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
|
-
* //
|
|
49
|
-
* const
|
|
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
|
|
52
|
-
* const
|
|
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...'
|
|
114
|
+
* gameId: 'custom-game-id...'
|
|
55
115
|
* });
|
|
56
116
|
*
|
|
57
|
-
* //
|
|
58
|
-
*
|
|
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
|
|
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":";;
|
|
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"}
|
package/dist/cjs/utils/config.js
CHANGED
|
@@ -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: '
|
|
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: '
|
|
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)(
|
|
93
|
-
sageProgramAddress: (0, constants_1.toAddress)(
|
|
94
|
-
profileFactionProgramAddress: (0, constants_1.toAddress)(
|
|
95
|
-
|
|
96
|
-
|
|
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":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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 = '
|
|
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":";;;AAOA,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/utils/index.js
CHANGED
|
@@ -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"}
|