@wuwei-labs/srsly
Version:
TypeScript SDK for SRSLY
66 lines • 2.33 kB
TypeScript
/**
* @purpose Simplified deleteRental instruction wrapper
*
* Thin convenience wrapper around Codama-generated deleteRental instruction.
* Admin-only instruction to delete corrupted rental state for schema migrations.
* Returns lamports to the borrower. Use release_rental after to clean up thread and SAGE fleet.
*/
import { type Address } from '@solana/kit';
import { type SdkConfig } from '../utils/config';
import { type UniversalSigner } from '../utils/signer';
import { prepareInstructions } from '../utils/instructions';
/**
* Parameters for deleting rental state
*/
export interface DeleteRentalParams {
/**
* Admin authority (must be config.admin)
* Accepts string address, web3.js Keypair, or @solana/kit signer
*/
admin: UniversalSigner;
/**
* Borrower wallet address who will receive the lamport refund.
* Optional — defaults to system program ID for reset rental slots with no borrower.
*/
borrower?: Address | string;
/**
* Rental state address to delete
* This is the corrupted rental account that cannot be deserialized
*/
rentalState: Address | string;
/**
* Sets compute units to allocate for the transaction.
* @example 100000
*/
computeUnits?: number;
}
/**
* Admin escape hatch to delete a corrupted RentalState (used during
* schema migrations). Returns rent to the borrower; follow with
* `releaseRental` to free the fleet.
*
* @param params - Delete rental parameters
* @param config - Optional SDK configuration overrides
* @returns Kit instruction (or web3.js if PublicKey in config)
*
* @example
* ```typescript
* // Admin deletes corrupted rental state
* const ix = await deleteRental({
* admin: adminWallet,
* borrower: "BORROWER_WALLET_ADDRESS",
* rentalState: "RENTAL_STATE_ADDRESS"
* });
*
* // After deletion, call releaseRental to clean up thread and SAGE fleet
* const releaseIx = await releaseRental({
* signer: anyWallet,
* fleet: "FLEET_ADDRESS",
* borrower: "BORROWER_ADDRESS",
* borrowerProfile: "BORROWER_PROFILE_ADDRESS",
* faction: "mud"
* });
* ```
*/
export declare function deleteRental(params: DeleteRentalParams, config?: Partial<SdkConfig>): Promise<ReturnType<typeof prepareInstructions>>;
//# sourceMappingURL=deleteRental.d.ts.map