UNPKG

@wuwei-labs/srsly

Version:
66 lines 2.33 kB
/** * @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