@wuwei-labs/srsly 2.0.0-beta.46 → 2.0.0-beta.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/codama/instructions/cancelRental.js +13 -23
- package/dist/cjs/codama/instructions/cancelRental.js.map +1 -1
- package/dist/cjs/contract/close.js +106 -21
- package/dist/cjs/contract/close.js.map +1 -1
- package/dist/cjs/contract/create.js +59 -5
- package/dist/cjs/contract/create.js.map +1 -1
- package/dist/cjs/demos.js +65 -0
- package/dist/cjs/demos.js.map +1 -0
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/package.json +1 -1
- package/dist/cjs/rental/accept.js +31 -0
- package/dist/cjs/rental/accept.js.map +1 -1
- package/dist/cjs/rental/cancel.js +60 -9
- package/dist/cjs/rental/cancel.js.map +1 -1
- package/dist/cjs/rental/close.js +35 -23
- package/dist/cjs/rental/close.js.map +1 -1
- package/dist/cjs/rental/reset-contract-temp.js +4 -1
- package/dist/cjs/rental/reset-contract-temp.js.map +1 -1
- package/dist/cjs/rental/reset.js +131 -26
- package/dist/cjs/rental/reset.js.map +1 -1
- package/dist/cjs/utils/fetch-accounts.js +26 -0
- package/dist/cjs/utils/fetch-accounts.js.map +1 -1
- package/dist/cjs/utils/index.js +8 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/pda.js.map +1 -1
- package/dist/cjs/utils/sdk-helpers.js +122 -0
- package/dist/cjs/utils/sdk-helpers.js.map +1 -0
- package/dist/cjs/utils/signer.js +19 -1
- package/dist/cjs/utils/signer.js.map +1 -1
- package/dist/esm/codama/instructions/cancelRental.js +13 -23
- package/dist/esm/codama/instructions/cancelRental.js.map +1 -1
- package/dist/esm/contract/close.js +106 -22
- package/dist/esm/contract/close.js.map +1 -1
- package/dist/esm/contract/create.js +59 -6
- package/dist/esm/contract/create.js.map +1 -1
- package/dist/esm/demos.js +23 -0
- package/dist/esm/demos.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/package.json +1 -1
- package/dist/esm/rental/accept.js +30 -0
- package/dist/esm/rental/accept.js.map +1 -1
- package/dist/esm/rental/cancel.js +60 -10
- package/dist/esm/rental/cancel.js.map +1 -1
- package/dist/esm/rental/close.js +37 -26
- package/dist/esm/rental/close.js.map +1 -1
- package/dist/esm/rental/reset-contract-temp.js +4 -1
- package/dist/esm/rental/reset-contract-temp.js.map +1 -1
- package/dist/esm/rental/reset.js +131 -27
- package/dist/esm/rental/reset.js.map +1 -1
- package/dist/esm/utils/fetch-accounts.js +26 -1
- package/dist/esm/utils/fetch-accounts.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/pda.js.map +1 -1
- package/dist/esm/utils/sdk-helpers.js +113 -0
- package/dist/esm/utils/sdk-helpers.js.map +1 -0
- package/dist/esm/utils/signer.js +19 -1
- package/dist/esm/utils/signer.js.map +1 -1
- package/dist/types/codama/instructions/cancelRental.d.ts +2 -2
- package/dist/types/codama/instructions/cancelRental.d.ts.map +1 -1
- package/dist/types/contract/close.d.ts +17 -12
- package/dist/types/contract/close.d.ts.map +1 -1
- package/dist/types/contract/create.d.ts +8 -2
- package/dist/types/contract/create.d.ts.map +1 -1
- package/dist/types/demos.d.ts +58 -0
- package/dist/types/demos.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/rental/accept.d.ts +6 -0
- package/dist/types/rental/accept.d.ts.map +1 -1
- package/dist/types/rental/cancel.d.ts +9 -3
- package/dist/types/rental/cancel.d.ts.map +1 -1
- package/dist/types/rental/close.d.ts +11 -5
- package/dist/types/rental/close.d.ts.map +1 -1
- package/dist/types/rental/reset-contract-temp.d.ts +1 -1
- package/dist/types/rental/reset-contract-temp.d.ts.map +1 -1
- package/dist/types/rental/reset.d.ts +35 -24
- package/dist/types/rental/reset.d.ts.map +1 -1
- package/dist/types/utils/fetch-accounts.d.ts +48 -1
- package/dist/types/utils/fetch-accounts.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/pda.d.ts.map +1 -1
- package/dist/types/utils/sdk-helpers.d.ts +49 -0
- package/dist/types/utils/sdk-helpers.d.ts.map +1 -0
- package/dist/types/utils/signer.d.ts.map +1 -1
- package/package.json +7 -1
- package/target/idl/srsly.json +1 -23
package/dist/esm/rental/reset.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import { getModule, createConfigSelector, resolveProgramAddresses } from '../utils/config';
|
|
1
|
+
import { getModule, createConfigSelector, resolveProgramAddresses, getConfig } from '../utils/config';
|
|
2
2
|
import { toAddress } from '../utils/constants';
|
|
3
3
|
import { deriveGameAccounts } from '../utils';
|
|
4
|
+
import { createFluentInstruction, createSmartFluentConfigSelector } from '../utils/instruction-converter';
|
|
5
|
+
import { fetchContractState } from '../utils/fetch-accounts';
|
|
6
|
+
import { createTransactionSigner } from '../utils/signer';
|
|
4
7
|
/**
|
|
5
8
|
* Internal function to reset a rental instruction with configuration options.
|
|
6
9
|
*
|
|
@@ -15,28 +18,115 @@ import { deriveGameAccounts } from '../utils';
|
|
|
15
18
|
* @throws Error when account derivation fails or required parameters are missing
|
|
16
19
|
*/
|
|
17
20
|
async function _resetRental(params, config) {
|
|
21
|
+
console.log('🔄 Starting resetRental with params:', {
|
|
22
|
+
hasPayer: !!params.payer,
|
|
23
|
+
hasFleet: !!params.fleet,
|
|
24
|
+
contract: params.contract,
|
|
25
|
+
hasRentalState: !!params.rentalState,
|
|
26
|
+
faction: params.faction,
|
|
27
|
+
hasOwnerProfile: !!params.ownerProfile
|
|
28
|
+
});
|
|
18
29
|
const { payer, fleet, contract, rentalState, faction, ownerProfile, } = params;
|
|
19
30
|
// Get the resolved addresses from config (including network-specific addresses)
|
|
20
|
-
|
|
31
|
+
// Use global config as fallback, same pattern as acceptRental
|
|
32
|
+
const globalConfig = getConfig();
|
|
33
|
+
const effectiveConfig = { ...globalConfig, ...config };
|
|
34
|
+
const resolvedAddresses = await resolveProgramAddresses(effectiveConfig);
|
|
35
|
+
// Validate contract address before fetching
|
|
36
|
+
if (typeof contract === 'string' && (contract.includes('CONTRACT_ADDRESS') || contract.length < 32)) {
|
|
37
|
+
throw new Error(`Invalid contract address: "${contract}". Please provide a valid Solana address (32-44 characters).`);
|
|
38
|
+
}
|
|
39
|
+
// Fetch fleet, rentalState, and ownerProfile from contract if not provided
|
|
40
|
+
let fleetAddress;
|
|
41
|
+
let rentalStateAddress;
|
|
42
|
+
let ownerProfileAddress;
|
|
43
|
+
// Check if we need to fetch contract state
|
|
44
|
+
const needsContractFetch = !fleet || !rentalState || !ownerProfile;
|
|
45
|
+
if (needsContractFetch) {
|
|
46
|
+
console.log('🔍 Fetching contract state to retrieve missing fields...');
|
|
47
|
+
try {
|
|
48
|
+
const contractState = await fetchContractState(toAddress(contract));
|
|
49
|
+
// Use provided fleet or fetch from contract
|
|
50
|
+
if (fleet) {
|
|
51
|
+
if (typeof fleet === 'string' && (fleet.includes('FLEET_ADDRESS') || fleet.length < 32)) {
|
|
52
|
+
throw new Error(`Invalid fleet address: "${fleet}". Please provide a valid Solana address (32-44 characters).`);
|
|
53
|
+
}
|
|
54
|
+
fleetAddress = fleet;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
fleetAddress = contractState.data.fleet;
|
|
58
|
+
}
|
|
59
|
+
// Use provided rentalState or fetch from contract
|
|
60
|
+
if (rentalState) {
|
|
61
|
+
if (typeof rentalState === 'string' && (rentalState.includes('RENTAL_STATE_ADDRESS') || rentalState.length < 32)) {
|
|
62
|
+
throw new Error(`Invalid rental state address: "${rentalState}". Please provide a valid Solana address (32-44 characters).`);
|
|
63
|
+
}
|
|
64
|
+
rentalStateAddress = rentalState;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
rentalStateAddress = contractState.data.currentRentalState;
|
|
68
|
+
}
|
|
69
|
+
// Use provided ownerProfile or fetch from contract
|
|
70
|
+
if (ownerProfile) {
|
|
71
|
+
if (typeof ownerProfile === 'string' && (ownerProfile.includes('OWNER_PROFILE_ADDRESS') || ownerProfile.length < 32)) {
|
|
72
|
+
throw new Error(`Invalid owner profile address: "${ownerProfile}". Please provide a valid Solana address (32-44 characters).`);
|
|
73
|
+
}
|
|
74
|
+
ownerProfileAddress = ownerProfile;
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
ownerProfileAddress = contractState.data.ownerProfile;
|
|
78
|
+
}
|
|
79
|
+
console.log('✅ Contract state fetched:', {
|
|
80
|
+
fleet: fleetAddress,
|
|
81
|
+
owner: contractState.data.owner,
|
|
82
|
+
currentRentalState: rentalStateAddress,
|
|
83
|
+
ownerProfile: ownerProfileAddress,
|
|
84
|
+
toClose: contractState.data.toClose
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
console.error('❌ Failed to fetch contract state:', error);
|
|
89
|
+
throw new Error(`Failed to fetch contract state: ${error}`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
console.log('🚢 Using all provided addresses');
|
|
94
|
+
// Validate all provided addresses
|
|
95
|
+
if (typeof fleet === 'string' && (fleet.includes('FLEET_ADDRESS') || fleet.length < 32)) {
|
|
96
|
+
throw new Error(`Invalid fleet address: "${fleet}". Please provide a valid Solana address (32-44 characters).`);
|
|
97
|
+
}
|
|
98
|
+
if (typeof rentalState === 'string' && (rentalState.includes('RENTAL_STATE_ADDRESS') || rentalState.length < 32)) {
|
|
99
|
+
throw new Error(`Invalid rental state address: "${rentalState}". Please provide a valid Solana address (32-44 characters).`);
|
|
100
|
+
}
|
|
101
|
+
if (typeof ownerProfile === 'string' && (ownerProfile.includes('OWNER_PROFILE_ADDRESS') || ownerProfile.length < 32)) {
|
|
102
|
+
throw new Error(`Invalid owner profile address: "${ownerProfile}". Please provide a valid Solana address (32-44 characters).`);
|
|
103
|
+
}
|
|
104
|
+
fleetAddress = fleet;
|
|
105
|
+
rentalStateAddress = rentalState;
|
|
106
|
+
ownerProfileAddress = ownerProfile;
|
|
107
|
+
}
|
|
21
108
|
// Derive the three accounts we need
|
|
22
|
-
const { starbase, starbasePlayer } = await deriveGameAccounts(toAddress(
|
|
109
|
+
const { starbase, starbasePlayer } = await deriveGameAccounts(toAddress(ownerProfileAddress), faction, resolvedAddresses.gameId, 0, // starbaseSeqId
|
|
23
110
|
config);
|
|
24
111
|
// Get network-specific codama functions from centralized config
|
|
25
112
|
const instructionsModule = getModule('instructions');
|
|
26
113
|
const programsModule = getModule('programs');
|
|
27
114
|
const { getResetRentalInstructionAsync } = instructionsModule;
|
|
28
115
|
const { SRSLY_PROGRAM_ADDRESS } = programsModule;
|
|
29
|
-
//
|
|
116
|
+
// Handle payer using smart signer handler for universal compatibility
|
|
117
|
+
const payerSigner = createTransactionSigner(payer);
|
|
118
|
+
// Let codama derive the rest (rentalAuthority)
|
|
30
119
|
const input = {
|
|
31
|
-
signer:
|
|
32
|
-
fleet: toAddress(
|
|
120
|
+
signer: payerSigner, // Pass TransactionSigner for proper handling
|
|
121
|
+
fleet: toAddress(fleetAddress), // Use resolved fleet address
|
|
33
122
|
contract: toAddress(contract), // Ensure string
|
|
34
|
-
rentalState: toAddress(
|
|
123
|
+
rentalState: toAddress(rentalStateAddress), // Use resolved rental state address
|
|
35
124
|
gameId: resolvedAddresses.gameId, // Already Address from resolveProgramAddresses
|
|
36
125
|
starbase, // Already string from deriveGameAccounts
|
|
37
126
|
starbasePlayer, // Already string from deriveGameAccounts
|
|
38
127
|
};
|
|
39
|
-
|
|
128
|
+
const rawInstruction = await getResetRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
|
|
129
|
+
return createFluentInstruction(rawInstruction);
|
|
40
130
|
}
|
|
41
131
|
/**
|
|
42
132
|
* Creates an instruction to reset a rental contract after cancellation with fluent configuration.
|
|
@@ -80,31 +170,35 @@ async function _resetRental(params, config) {
|
|
|
80
170
|
* ```typescript
|
|
81
171
|
* import { resetRental } from '@srsly/sdk';
|
|
82
172
|
*
|
|
83
|
-
* // Reset a canceled rental
|
|
173
|
+
* // Reset a canceled rental (all addresses auto-fetched from contract)
|
|
84
174
|
* const instruction = await resetRental({
|
|
85
|
-
*
|
|
175
|
+
* payer: wallet, // Transaction payer
|
|
86
176
|
* contract: "ContractAddr...", // Contract to reactivate
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
177
|
+
* faction: 'mud' // Owner's faction
|
|
178
|
+
* });
|
|
179
|
+
*
|
|
180
|
+
* // Optionally provide explicit addresses to avoid fetching
|
|
181
|
+
* const instruction = await resetRental({
|
|
182
|
+
* payer: wallet,
|
|
183
|
+
* fleet: "FleetAddress123...", // Optional: will be fetched if omitted
|
|
184
|
+
* contract: "ContractAddr...",
|
|
185
|
+
* rentalState: "RentalStateAddr...", // Optional: will be fetched if omitted
|
|
186
|
+
* faction: 'mud',
|
|
187
|
+
* ownerProfile: "OwnerProfileAddr..." // Optional: will be fetched if omitted
|
|
90
188
|
* });
|
|
91
189
|
*
|
|
92
190
|
* // Configure for mainnet
|
|
93
191
|
* const mainnetInstruction = await resetRental({
|
|
94
|
-
*
|
|
192
|
+
* payer: wallet,
|
|
95
193
|
* contract: "ContractAddr...",
|
|
96
|
-
*
|
|
97
|
-
* faction: 1, // Can use numbers: 1=mud, 2=oni, 3=ustur
|
|
98
|
-
* ownerProfile: "OwnerProfileAddr..."
|
|
194
|
+
* faction: 1 // Can use numbers: 1=mud, 2=oni, 3=ustur
|
|
99
195
|
* }).set({ programs: 'mainnet' });
|
|
100
196
|
*
|
|
101
197
|
* // Override specific game configuration
|
|
102
198
|
* const customInstruction = await resetRental({
|
|
103
|
-
*
|
|
199
|
+
* payer: wallet,
|
|
104
200
|
* contract: "ContractAddr...",
|
|
105
|
-
*
|
|
106
|
-
* faction: 'mud',
|
|
107
|
-
* ownerProfile: "OwnerProfileAddr..."
|
|
201
|
+
* faction: 'mud'
|
|
108
202
|
* }).set({
|
|
109
203
|
* programs: 'mainnet',
|
|
110
204
|
* gameId: 'custom-game-id...'
|
|
@@ -112,11 +206,9 @@ async function _resetRental(params, config) {
|
|
|
112
206
|
*
|
|
113
207
|
* // Convert to @solana/web3.js format
|
|
114
208
|
* const web3jsInstruction = await resetRental({
|
|
115
|
-
*
|
|
209
|
+
* payer: wallet,
|
|
116
210
|
* contract: "ContractAddr...",
|
|
117
|
-
*
|
|
118
|
-
* faction: 'mud',
|
|
119
|
-
* ownerProfile: "OwnerProfileAddr..."
|
|
211
|
+
* faction: 'mud'
|
|
120
212
|
* }).web3js();
|
|
121
213
|
*
|
|
122
214
|
* // Use with your preferred Solana library
|
|
@@ -125,11 +217,12 @@ async function _resetRental(params, config) {
|
|
|
125
217
|
* ```
|
|
126
218
|
*
|
|
127
219
|
* @param params - The rental reset parameters including fleet, contract, rental state, and owner details
|
|
128
|
-
* @returns A
|
|
220
|
+
* @returns A SmartFluentConfigSelector that can be configured with .set() or awaited directly
|
|
129
221
|
* @throws Error when rental is not in canceled state or instruction generation fails
|
|
130
222
|
*/
|
|
131
223
|
export function resetRental(params) {
|
|
132
|
-
|
|
224
|
+
const baseSelector = createConfigSelector((config) => _resetRental(params, config));
|
|
225
|
+
return createSmartFluentConfigSelector(baseSelector);
|
|
133
226
|
}
|
|
134
227
|
/**
|
|
135
228
|
* Low-level function to create a rental reset instruction with raw input parameters.
|
|
@@ -149,4 +242,15 @@ export function getResetRentalInstructionAsync(input, options) {
|
|
|
149
242
|
return instructionsModule.getResetRentalInstructionAsync(input, options);
|
|
150
243
|
});
|
|
151
244
|
}
|
|
245
|
+
// Demo export for documentation site
|
|
246
|
+
export const resetRentalDemo = {
|
|
247
|
+
tabName: "reset",
|
|
248
|
+
description: "Reset a canceled rental",
|
|
249
|
+
imports: `import { resetRental } from '@wuwei-labs/srsly';`,
|
|
250
|
+
instruction: `const instruction = await resetRental({
|
|
251
|
+
payer: (signer || wallet).publicKey?.toBase58(),
|
|
252
|
+
contract: "CONTRACT_ADDRESS",
|
|
253
|
+
faction: "oni" // or "mud", "ustur"
|
|
254
|
+
});`
|
|
255
|
+
};
|
|
152
256
|
//# sourceMappingURL=reset.js.map
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"reset.js","sourceRoot":"","sources":["../../../src/rental/reset.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { createSolanaRpc } from '@solana/kit';
|
|
2
|
-
import { fetchContractState as fetchContractStateCodama, fetchRentalState as fetchRentalStateCodama, fetchAllContractState, fetchAllRentalState } from '../codama/accounts';
|
|
2
|
+
import { fetchContractState as fetchContractStateCodama, fetchRentalState as fetchRentalStateCodama, fetchMaybeConfig as fetchConfigStateCodama, fetchAllContractState, fetchAllRentalState } from '../codama/accounts';
|
|
3
3
|
import { getConfig, resolveProgramAddresses } from './config';
|
|
4
4
|
import { toAddress } from './constants';
|
|
5
|
+
import { deriveConfigPda } from './sdk-helpers';
|
|
5
6
|
// Implementation
|
|
6
7
|
export async function fetchContractState(rpcUrlOrAddress, contractAddress) {
|
|
7
8
|
// If only one argument, it's the contract address using default RPC
|
|
@@ -34,6 +35,30 @@ export async function fetchRentalState(rpcUrlOrAddress, rentalAddress) {
|
|
|
34
35
|
const rpc = createSolanaRpc(rpcUrl);
|
|
35
36
|
return fetchRentalStateCodama(rpc, address);
|
|
36
37
|
}
|
|
38
|
+
// Implementation
|
|
39
|
+
export async function fetchConfigState(rpcUrlOrAddress, configAddress) {
|
|
40
|
+
// If no arguments, derive config PDA automatically from global config
|
|
41
|
+
if (rpcUrlOrAddress === undefined) {
|
|
42
|
+
const config = getConfig();
|
|
43
|
+
const resolved = await resolveProgramAddresses(config);
|
|
44
|
+
const [configPda] = await deriveConfigPda(resolved.srslyProgramAddress);
|
|
45
|
+
const rpc = createSolanaRpc(resolved.rpcUrl);
|
|
46
|
+
return fetchConfigStateCodama(rpc, configPda);
|
|
47
|
+
}
|
|
48
|
+
// If only one argument, it's the config address using default RPC
|
|
49
|
+
if (configAddress === undefined) {
|
|
50
|
+
const address = toAddress(rpcUrlOrAddress);
|
|
51
|
+
const config = getConfig();
|
|
52
|
+
const resolved = await resolveProgramAddresses(config);
|
|
53
|
+
const rpc = createSolanaRpc(resolved.rpcUrl);
|
|
54
|
+
return fetchConfigStateCodama(rpc, address);
|
|
55
|
+
}
|
|
56
|
+
// If two arguments, first is rpcUrl, second is address
|
|
57
|
+
const rpcUrl = rpcUrlOrAddress;
|
|
58
|
+
const address = toAddress(configAddress);
|
|
59
|
+
const rpc = createSolanaRpc(rpcUrl);
|
|
60
|
+
return fetchConfigStateCodama(rpc, address);
|
|
61
|
+
}
|
|
37
62
|
/**
|
|
38
63
|
* Fetches multiple contract states in a single RPC call
|
|
39
64
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-accounts.js","sourceRoot":"","sources":["../../../src/utils/fetch-accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAgB,MAAM,aAAa,CAAC;AAC5D,OAAO,EACL,kBAAkB,IAAI,wBAAwB,EAC9C,gBAAgB,IAAI,sBAAsB,EAC1C,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA+
|
|
1
|
+
{"version":3,"file":"fetch-accounts.js","sourceRoot":"","sources":["../../../src/utils/fetch-accounts.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/utils/index.js
CHANGED
|
@@ -7,4 +7,5 @@ export * from "./instruction-converter";
|
|
|
7
7
|
export * from "./fetch-accounts";
|
|
8
8
|
export * from "./pda";
|
|
9
9
|
export * from "./signer";
|
|
10
|
+
export { createRpcFromConfig, deriveConfigPda, fetchAccountWithValidation, fetchMultipleAccounts, deriveAllRentalPDAs, ErrorMessages } from "./sdk-helpers";
|
|
10
11
|
//# 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;AACjC,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,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;AACtB,cAAc,UAAU,CAAC;AACzB,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EACd,MAAM,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pda.js","sourceRoot":"","sources":["../../../src/utils/pda.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pda.js","sourceRoot":"","sources":["../../../src/utils/pda.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,iBAAiB,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AAClH,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAsB,MAAM,UAAU,CAAC;AAE3F;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAuB,EACvB,cAAiC;IAEjC,gEAAgE;IAChE,IAAI,cAAsB,CAAC;IAC3B,IAAI,cAAc,EAAE,CAAC;QACnB,cAAc,GAAG,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAChG,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACtE,cAAc,GAAG,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,wBAAwB,CAAC;QAC3C,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC;QACvC,KAAK,EAAE;YACL,gEAAgE;YAChE,eAAe,EAAE,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;YAChH,4CAA4C;YAC5C,iBAAiB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAC3C;KACF,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,eAAwB,EACxB,WAAoB,EACpB,gBAA0B;IAE1B,gEAAgE;IAChE,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACtE,MAAM,cAAc,GAAG,gBAAgB,IAAI,SAAS,CAAC,qBAAqB,CAAC;IAE3E,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,wBAAwB,CAAC;QAC3C,cAAc;QACd,KAAK,EAAE;YACL,8CAA8C;YAC9C,eAAe,EAAE,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;YACvE,uBAAuB;YACvB,iBAAiB,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC;YAC3C,qBAAqB;YACrB,iBAAiB,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC;SACxC;KACF,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAiB,EACjB,QAAiB,EACjB,cAAwB;IAExB,gEAAgE;IAChE,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACtE,MAAM,cAAc,GAAG,cAAc,IAAI,SAAS,CAAC,mBAAmB,CAAC;IAEvE,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,wBAAwB,CAAC;QAC3C,cAAc;QACd,KAAK,EAAE;YACL,sBAAsB;YACtB,eAAe,EAAE,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACnG,mBAAmB;YACnB,iBAAiB,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;YACpC,mBAAmB;YACnB,iBAAiB,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;SACrC;KACF,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,cAAwB;IAExB,gEAAgE;IAChE,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACtE,MAAM,cAAc,GAAG,cAAc,IAAI,SAAS,CAAC,mBAAmB,CAAC;IAEvE,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,wBAAwB,CAAC;QAC3C,cAAc;QACd,KAAK,EAAE;YACL,0BAA0B;YAC1B,eAAe,EAAE,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;SACxH;KACF,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { createSolanaRpc, address } from '@solana/kit';
|
|
2
|
+
import { PublicKey } from '@solana/web3.js';
|
|
3
|
+
import { getProgramDerivedAddress, getBytesEncoder } from '@solana/kit';
|
|
4
|
+
/**
|
|
5
|
+
* SDK Helper utilities to reduce code duplication across instruction implementations
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Creates an RPC connection from resolved addresses, with validation
|
|
9
|
+
*/
|
|
10
|
+
export function createRpcFromConfig(resolvedAddresses, operationName) {
|
|
11
|
+
if (!resolvedAddresses.rpcUrl) {
|
|
12
|
+
throw new Error(`rpcUrl is required for ${operationName} operation. Use setConfig({ rpcUrl: "https://..." })`);
|
|
13
|
+
}
|
|
14
|
+
return createSolanaRpc(resolvedAddresses.rpcUrl);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Derives the config PDA for the SRSLY program
|
|
18
|
+
*/
|
|
19
|
+
export async function deriveConfigPda(programAddress) {
|
|
20
|
+
const programPubkey = typeof programAddress === 'string' ? programAddress : programAddress.toBase58();
|
|
21
|
+
const [pdaAddress, bump] = await getProgramDerivedAddress({
|
|
22
|
+
programAddress: address(programPubkey),
|
|
23
|
+
seeds: [getBytesEncoder().encode(new Uint8Array([99, 111, 110, 102, 105, 103]))], // "config" bytes
|
|
24
|
+
});
|
|
25
|
+
return [pdaAddress, bump];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Generic fetch function with validation and error handling
|
|
29
|
+
*/
|
|
30
|
+
export async function fetchAccountWithValidation(fetchFn, rpc, accountAddress, accountType) {
|
|
31
|
+
const addressStr = typeof accountAddress === 'string' ? accountAddress : accountAddress.toBase58();
|
|
32
|
+
try {
|
|
33
|
+
const account = await fetchFn(rpc, address(addressStr));
|
|
34
|
+
if (!account.exists) {
|
|
35
|
+
throw new Error(`${accountType} not found at address: ${addressStr}`);
|
|
36
|
+
}
|
|
37
|
+
return account;
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
if (error instanceof Error && error.message.includes('not found')) {
|
|
41
|
+
throw error;
|
|
42
|
+
}
|
|
43
|
+
throw new Error(`Failed to fetch ${accountType}: ${error}`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Batch fetch multiple accounts with proper error handling
|
|
48
|
+
*/
|
|
49
|
+
export async function fetchMultipleAccounts(fetchOperations, rpc) {
|
|
50
|
+
const results = await Promise.all(fetchOperations.map(async ({ fetchFn, address: addr, accountType }) => {
|
|
51
|
+
const account = await fetchAccountWithValidation(fetchFn, rpc, addr, accountType);
|
|
52
|
+
return account;
|
|
53
|
+
}));
|
|
54
|
+
const accountMap = {};
|
|
55
|
+
fetchOperations.forEach((op, index) => {
|
|
56
|
+
accountMap[op.key] = results[index];
|
|
57
|
+
});
|
|
58
|
+
return accountMap;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Convert public key to address format used by the SDK
|
|
62
|
+
*/
|
|
63
|
+
export function toAddressString(key) {
|
|
64
|
+
return typeof key === 'string' ? key : key.toBase58();
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Derive all rental-related PDAs in one call
|
|
68
|
+
*/
|
|
69
|
+
export async function deriveAllRentalPDAs(contract, borrower, programAddress, antegenProgramAddress) {
|
|
70
|
+
const contractAddr = toAddressString(contract);
|
|
71
|
+
const borrowerAddr = toAddressString(borrower);
|
|
72
|
+
const programAddr = toAddressString(programAddress);
|
|
73
|
+
const antegenAddr = toAddressString(antegenProgramAddress);
|
|
74
|
+
// These would use your existing PDA derivation functions
|
|
75
|
+
const [rentalState, rentalStateBump] = await getProgramDerivedAddress({
|
|
76
|
+
programAddress: address(programAddr),
|
|
77
|
+
seeds: [
|
|
78
|
+
getBytesEncoder().encode(new Uint8Array([114, 101, 110, 116, 97, 108, 95, 115, 116, 97, 116, 101])), // "rental_state"
|
|
79
|
+
getBytesEncoder().encode(new PublicKey(contractAddr).toBytes()),
|
|
80
|
+
getBytesEncoder().encode(new PublicKey(borrowerAddr).toBytes()),
|
|
81
|
+
],
|
|
82
|
+
});
|
|
83
|
+
const [rentalAuthority, rentalAuthorityBump] = await getProgramDerivedAddress({
|
|
84
|
+
programAddress: address(programAddr),
|
|
85
|
+
seeds: [
|
|
86
|
+
getBytesEncoder().encode(new Uint8Array([114, 101, 110, 116, 97, 108, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121])), // "rental_authority"
|
|
87
|
+
getBytesEncoder().encode(new PublicKey(contractAddr).toBytes()),
|
|
88
|
+
getBytesEncoder().encode(new PublicKey(borrowerAddr).toBytes()),
|
|
89
|
+
],
|
|
90
|
+
});
|
|
91
|
+
const [rentalThread, rentalThreadBump] = await getProgramDerivedAddress({
|
|
92
|
+
programAddress: address(antegenAddr),
|
|
93
|
+
seeds: [
|
|
94
|
+
getBytesEncoder().encode(new Uint8Array([116, 104, 114, 101, 97, 100])), // "thread"
|
|
95
|
+
getBytesEncoder().encode(new PublicKey(rentalAuthority).toBytes()),
|
|
96
|
+
getBytesEncoder().encode(new PublicKey(rentalState).toBytes()),
|
|
97
|
+
],
|
|
98
|
+
});
|
|
99
|
+
return {
|
|
100
|
+
rentalState: [rentalState, rentalStateBump],
|
|
101
|
+
rentalAuthority: [rentalAuthority, rentalAuthorityBump],
|
|
102
|
+
rentalThread: [rentalThread, rentalThreadBump],
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Standard error messages for common scenarios
|
|
107
|
+
*/
|
|
108
|
+
export const ErrorMessages = {
|
|
109
|
+
rpcRequired: (operation) => `rpcUrl is required for ${operation} operation. Use setConfig({ library: "kit", rpcUrl: "https://..." })`,
|
|
110
|
+
accountNotFound: (type, address) => `${type} not found at address: ${address}`,
|
|
111
|
+
fetchFailed: (type, error) => `Failed to fetch ${type}: ${error}`,
|
|
112
|
+
};
|
|
113
|
+
//# sourceMappingURL=sdk-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-helpers.js","sourceRoot":"","sources":["../../../src/utils/sdk-helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/utils/signer.js
CHANGED
|
@@ -106,13 +106,31 @@ export function validateSigner(signer) {
|
|
|
106
106
|
* ```
|
|
107
107
|
*/
|
|
108
108
|
export function createTransactionSigner(signer) {
|
|
109
|
+
console.log('🔍 createTransactionSigner called with:', {
|
|
110
|
+
signer,
|
|
111
|
+
type: typeof signer,
|
|
112
|
+
isString: typeof signer === 'string',
|
|
113
|
+
value: signer
|
|
114
|
+
});
|
|
109
115
|
// Validate the signer first
|
|
110
116
|
validateSigner(signer);
|
|
111
117
|
// Handle string address case (browser usage)
|
|
112
118
|
if (typeof signer === 'string') {
|
|
113
|
-
|
|
119
|
+
console.log('🔍 Processing string signer:', signer);
|
|
120
|
+
try {
|
|
121
|
+
const addr = address(signer);
|
|
122
|
+
console.log('🔍 address() result:', addr);
|
|
123
|
+
const noopSigner = createNoopSigner(addr);
|
|
124
|
+
console.log('🔍 createNoopSigner result:', noopSigner);
|
|
125
|
+
return noopSigner;
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
console.error('🚨 Error in createTransactionSigner string processing:', error);
|
|
129
|
+
throw error;
|
|
130
|
+
}
|
|
114
131
|
}
|
|
115
132
|
// Handle signer object cases (already validated TransactionSigner objects)
|
|
133
|
+
console.log('🔍 Processing object signer, returning as TransactionSigner');
|
|
116
134
|
return signer;
|
|
117
135
|
}
|
|
118
136
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../src/utils/signer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAA0B,MAAM,aAAa,CAAC;AAG3F;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAkBD;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,MAAe;IAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,qDAAqD;QACrD,IAAI,CAAC;YACH,8EAA8E;YAC9E,OAAO,CAAC,MAAM,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,kBAAkB,CAC1B,4BAA4B,MAAM,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,MAAM;gBACjH,sEAAsE;gBACtE,aAAa;gBACb,sDAAsD;gBACtD,mDAAmD,CACpD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,MAA6B,CAAC;QAEhD,gDAAgD;QAChD,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,kBAAkB,CAC1B,qDAAqD;gBACrD,gFAAgF;gBAChF,aAAa;gBACb,sCAAsC;gBACtC,+DAA+D,CAChE,CAAC;QACJ,CAAC;QAED,8CAA8C;QAC9C,IAAI,SAAS,IAAI,SAAS,IAAI,OAAO,SAAS,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;YAC/E,oEAAoE;YACpE,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,sDAAsD;oBACtD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;wBAClC,MAAM,IAAI,kBAAkB,CAC1B,qFAAqF,CACtF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,kBAAkB,CAC1B,+CAA+C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,EAAE,CACrH,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QAED,+BAA+B;QAC/B,MAAM,IAAI,kBAAkB,CAC1B,oCAAoC;YACpC,6CAA6C;YAC7C,0DAA0D;YAC1D,kCAAkC,CACnC,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,kBAAkB,CAC1B,6DAA6D,CAC9D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAuB;IAC7D,4BAA4B;IAC5B,cAAc,CAAC,MAAM,CAAC,CAAC;IAEvB,6CAA6C;IAC7C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,
|
|
1
|
+
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../src/utils/signer.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ export type CancelRentalInstruction<TProgram extends string = typeof SRSLY_PROGR
|
|
|
14
14
|
TAccountConfig extends string ? ReadonlyAccount<TAccountConfig> : TAccountConfig,
|
|
15
15
|
TAccountMint extends string ? ReadonlyAccount<TAccountMint> : TAccountMint,
|
|
16
16
|
TAccountBorrowerTokenAccount extends string ? WritableAccount<TAccountBorrowerTokenAccount> : TAccountBorrowerTokenAccount,
|
|
17
|
-
TAccountRentalThread extends string ?
|
|
17
|
+
TAccountRentalThread extends string ? WritableAccount<TAccountRentalThread> : TAccountRentalThread,
|
|
18
18
|
TAccountContract extends string ? ReadonlyAccount<TAccountContract> : TAccountContract,
|
|
19
19
|
TAccountRentalState extends string ? WritableAccount<TAccountRentalState> : TAccountRentalState,
|
|
20
20
|
TAccountRentalTokenAccount extends string ? WritableAccount<TAccountRentalTokenAccount> : TAccountRentalTokenAccount,
|
|
@@ -36,7 +36,7 @@ export type CancelRentalAsyncInput<TAccountBorrower extends string = string, TAc
|
|
|
36
36
|
config?: Address<TAccountConfig>;
|
|
37
37
|
mint: Address<TAccountMint>;
|
|
38
38
|
borrowerTokenAccount?: Address<TAccountBorrowerTokenAccount>;
|
|
39
|
-
rentalThread
|
|
39
|
+
rentalThread: Address<TAccountRentalThread>;
|
|
40
40
|
contract: Address<TAccountContract>;
|
|
41
41
|
rentalState?: Address<TAccountRentalState>;
|
|
42
42
|
rentalTokenAccount?: Address<TAccountRentalTokenAccount>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cancelRental.d.ts","sourceRoot":"","sources":["../../../../src/codama/instructions/cancelRental.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cancelRental.d.ts","sourceRoot":"","sources":["../../../../src/codama/instructions/cancelRental.ts"],"names":[],"mappings":"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"}
|