/** * SUI PTB Resolver * * Main resolver class for gas-free PTB resolution using sui_ptb_resolver framework. */ import { SuiGrpcClient } from '@mysten/sui/grpc'; import { Transaction } from '@mysten/sui/transactions'; import type { ResolverOutput, SuiPTBResolverConfig } from '../types/index.js'; /** * Callback function to create resolver transaction * @param discoveredData - BCS-encoded discovered data to pass to resolver * @returns Transaction that calls the resolver function */ export type ResolverCallbackFn = (discoveredData: Uint8Array) => Promise; /** * Main SUI PTB Resolver * * Generic resolver for gas-free PTB construction using offchain data discovery. * Works with any resolver implementation that follows the sui_ptb_resolver pattern. */ export declare class SuiPTBResolver { private client; private lookupResolver; private eventParser; private config; constructor(config: SuiPTBResolverConfig, client?: SuiGrpcClient); /** * Resolve a PTB using iterative offchain lookup * * Generic resolution process: * 1. Call resolver function in dry-run mode * 2. Parse emitted events * 3. If NeedsData: fetch offchain data and retry * 4. If Resolved: reconstruct and return PTB * 5. Repeat until resolved or max iterations reached * * @param createResolverTx - Callback to create resolver transaction * @returns Resolved PTB and metadata */ resolve(createResolverTx: ResolverCallbackFn): Promise; /** * Get placeholder name from lookup * @param lookup - Offchain lookup * @returns Placeholder name */ private getPlaceholderName; /** * Get the SUI client * @returns SUI client instance */ getClient(): SuiGrpcClient; /** * Get the resolver configuration * @returns Resolver config */ getConfig(): SuiPTBResolverConfig; /** * Resolve a VAA using resolve_vaa function pattern * * This is a convenience wrapper for the common pattern where the resolver * has a `resolve_vaa` function that takes (State, vaa_bytes, discovered_data). * * @param target - Move function target (e.g., "PACKAGE::module::resolve_vaa") * @param stateId - State object ID for the resolver * @param vaaBytes - VAA bytes to resolve * @returns Resolved PTB and metadata */ resolveVAA(target: string, stateId: string, vaaBytes: Uint8Array): Promise; } //# sourceMappingURL=sui-ptb-resolver.d.ts.map